AdBlock là tiện ích giúp chặn hiển thị quảng cáo trên trang, giúp duyệt web tốt hơn, nhưng với chủ sở hữu web, điều đó đồng nghĩa với giảm doanh thu. Để phát hiện AdBlock và phát ra thông báo tới người dùng, bài viết này có thể giúp bạn.

Phát hiện AdBlock bằng JavaScript

Nguyên lý hoạt động

Adblock sẽ tự động phát hiện những quảng cáo bằng nhiều cách, trong đó có lọc theo tên tập tin. Những tập tin nào (JavaScript, hình ảnh, v.v…) có từ khóa nằm trong danh sách đen đều bị chặn một cách tự động.

Do đó, chúng ta tạo một tập tin sailthru.js (hoặc bất kì tên nào trong danh sách đen được đề cập ở trên), nếu tập tin này bị chặn thì đồng nghĩa với trình duyệt người dùng có bật AdBlock.

Tạo tập tin JavaScript

Đầu tiên, các bạn tạo một tập tin, ví dụ sailthru.js với nội dung như sau.

var e=document.createElement('div');
e.id='vmrTlqNyHDpU';
e.style.display='none';
document.body.appendChild(e);

Sau đó, nhúng vào website của bạn.

<script src="js/sailthru.js"></script>

Kiểm tra AdBlock

Các bạn có thể kiểm tra tập tin này sau khi trang web tải xong.

<script type="text/javascript">
    $(window).load(function() {
        if (!document.getElementById('vmrTlqNyHDpU')) {
                // AdBlock đang bật
        }
    });
</script>

Ví dụ trên sử dụng jQuery 1.12.4, jQuery 3.0 trở lên các bạn dùng sự kiện là $(window).on("load", function () {});.

Chúc các bạn thành công.

Tham khảo: Detect Adblock.