userChromeJS scripts
Giải thích ngắn gọn: Inject code JavaScript, chạy trên ngữ cảnh của Firefox browser. Tức là can thiệp trực tiếp vào code logic của FIrefox.
Để so sánh thì các script chạy trên *monkey chỉ hoạt động trên ngữ cảnh của trang web, không tác động được vào browser.
Các Addon thì chỉ sử dụng những API mà Firefox expose ra, nên tác động hạn chế.
Về cơ bản các userChromeJS script sẽ không có hạn chế gì cả. Tác động được vào tất cả các phần viết bằng JavaScript của Firefox (còn các phần khác viết bằng C++ hay các ngôn ngữ khác thì không được). Ngoài ra các script này còn có toàn quyền đọc/ghi trên ổ cứng của bạn.
Cực kỳ nguy hiểm. Phải kiểm tra rất cẩn thận trước khi sử dụng.
Có 3 bộ autoconfig để load userChromeJS mà theo mình là đáng chú ý:
1.
firefox-scripts của xiaoxiaoflood
2.
fx-autoconfig của MrOtherGuy, cũng là tác giả của nhiều
tweak css. Có nhiều scripts dựa trên loader này nằm trên repo
uc.css.js của aminomancer.
3.
userChrome.js của alice0775, người Nhật nên đọc comment code cũng vất vả xíu.
Script viết theo loader 2 và 3 khá tương thích với nhau, còn bộ loader số 1 của xiaoxiaoflood cần viết theo cấu trúc khác hẳn. Nhưng nói chung nếu bỏ công sức ra thì cũng port qua lại được.
Dự định của mình là viết một scripts làm vertical tab cho FIrefox, giống kiểu của Edge (có bật/tắt autohide). Các giải pháp sử dụng addon (Tree Style Tab, Sidebery, etc.) + CSS không thể bật tắt autohide được. Tiện tay thì vertical tab này sẽ dùng native tab (thay đổi vị trí ngang/dọc) thay vì clone lại tab vào sidebar.
Cơ mà đấy là dự định, làm còn lâu mới xong.
Giờ share 2 script vừa và nhỏ:
1.
URLBar show domain:
Cũng không có gì đặc biệt. Gọt hết phần protocol (https://) và www. và path (t/tong-hop-nhung-addon-chat-cho-firefox-pc-mobile.682181/), chỉ để lại subdomain.domain
Nói chung là bắt chước URLBar của Safari.
2.
Sidebar easy switch:
Nói chung là bắt chước side panel của Vivaldi.
- Bỏ giới hạn chiều rộng tối thiểu/tối đa của sidebar.
- Các options trong dropdown chọn sidebar được đưa ra một panel bên ngoài. Tiết kiệm 1 click và vài cm kéo chuột chọn.
- Thu gọn/phóng to sidebar.
Ai dùng nhiều sidebar khác nhau sẽ thấy tiện hơn chút. Tất nhiên cái này không tương thích với ai đang dùng các giải pháp autohide sidebar bằng CSS.
À quên, mình dùng fx-autoconfig, nên cách cài cũng tương tự như
aminomancer hướng dẫn.