- Blog này khuyến nghị khách truy cập cài đặt trình chặn quảng cáo đáng tin cậy như uBlock Origin khi không phát hiện thấy tính năng chặn quảng cáo
- Thông báo khuyến nghị này được thiết kế không làm gián đoạn trải nghiệm người dùng, và sau khi đóng một lần thì sẽ không xuất hiện lại
- Cách triển khai sử dụng script
nativeads.js và một thẻ <div> gắn đầy các tên lớp liên quan đến quảng cáo, được thiết kế để thông báo không hiển thị nếu trình chặn quảng cáo chặn phần tử hoặc chặn yêu cầu mạng
- Sau khi đóng một lần, thông báo sẽ được ghi nhớ bằng cookie, hiển thị nhỏ ở một góc màn hình bằng CSS, không che nội dung, và không hiển thị trên trình duyệt đã tắt JavaScript
- Không có cách nào để phát hiện chặn bằng DNS, nên tác giả cho biết đã triển khai nó dưới dạng cửa sổ hướng dẫn không xâm lấn và có thể đóng dễ dàng
Sự cần thiết của thông báo khuyến nghị chặn quảng cáo
- Quảng cáo trên internet làm lãng phí thời gian của người dùng, và ngành quảng cáo gây tác động tiêu cực lên toàn bộ môi trường internet
- Do doanh thu từ website trở nên rất thấp, nhiều trang web đã biến thành những trang chất lượng thấp bị nhồi đầy quảng cáo
- Nếu muốn hỗ trợ người sáng tạo, thì ủng hộ trực tiếp (dù chỉ 1 đô la cũng hiệu quả) hiệu quả hơn nhiều so với việc xem quảng cáo
Mục tiêu thiết kế của thông báo khuyến nghị chặn quảng cáo
- Vì đa số người dùng coi quảng cáo là một phần của trải nghiệm internet, tác giả hiển thị trực tiếp một thông báo trên trang web
- Thông báo "No adblocker detected. Consider using an extension like uBlock Origin to save time and bandwidth. Click here to close." được hiển thị nhỏ ở góc dưới bên phải của trang
- Không che nội dung, và sau khi đóng thông báo thì sẽ không hiển thị nữa
- Nếu cửa sổ nhỏ, thông báo sẽ không hiển thị
- Lý do chỉ nhắc đến một tiện ích mở rộng cụ thể (uBlock Origin) là vì người dùng thường biết đến trình chặn quảng cáo qua quảng cáo, và do rủi ro cũng như tính lừa đảo của các trình chặn quảng cáo thương mại
- Các trình chặn quảng cáo được quảng bá bằng quảng cáo cuối cùng cũng kiếm lợi nhuận từ chính người dùng
Cách triển khai và các điểm kỹ thuật
- Trong HTML có một vùng div dành cho thông báo khuyến nghị chặn quảng cáo, kèm nhiều tên lớp liên quan đến quảng cáo
- Việc thêm thông báo do tệp JavaScript
/nativeads.js đảm nhiệm
- Bảo đảm thông báo chỉ hiển thị một lần nhờ cookie
- Khi nhấp vào "Click here to close.", div sẽ bị ẩn và cookie được cập nhật
- CSS được dùng để xác định vị trí hiển thị và tạo kiểu cho thông báo
- Chỉ cố định hiển thị ở góc dưới bên phải khi có đủ không gian màn hình
- Nếu trình chặn quảng cáo chặn (xóa hoặc chặn yêu cầu) phần tử div đó hoặc tệp
nativeads.js, thì chính thông báo sẽ không được hiển thị
- Dùng nhiều tên lớp liên quan đến quảng cáo để khiến đa số trình chặn quảng cáo loại bỏ div
- Đặc biệt, ngay cả các tiện ích mở rộng chủ yếu chặn ở tầng mạng (như adblock lite) cũng sẽ làm thông báo biến mất nếu chặn yêu cầu mạng của script
- Có giới hạn là không thể phát hiện được chặn quảng cáo dựa trên DNS
- Trên các trình duyệt không hỗ trợ JavaScript thì không cần trình chặn quảng cáo, nên cũng không hiển thị thông báo
- Ngay cả khi không áp dụng CSS, thông báo vẫn hoạt động về mặt chức năng (hiển thị không có kiểu dáng)
3 bình luận
Tôi khuyên dùng trình duyệt Brave
Ý kiến trên Hacker News
ublockorigin.comđược liên kết trong thông báo không thuộc sở hữu của Raymond Hill, nhà phát triển thực sự của uBlock Origin. Bề ngoài thì có vẻ thiện chí và UI cũng ổn, nhưng nó dường như không nằm dưới sự kiểm soát của Hill và có thể trở thành một điểm rủi ro tiềm tàng kiểu malware. Kênh chính thức của Hill là https://github.com/gorhill/uBlock. Các liên kết đáng tham khảo là README.md và WikiBlog của tôi trước đây cũng hiển thị một thông báo khuyên cài trình chặn quảng cáo nếu phát hiện không có ad blocker, nên thật vui khi biết không chỉ mình tôi làm vậy.