Làm cách nào tôi có thể tắt quảng cáo / thông báo javascript trong Chrome?


20

Xin lỗi nếu nó được hỏi. Tôi đã tìm thấy một số giải pháp không hoạt động. Không chắc chắn những gì tôi đang làm sai.

Tôi không muốn tắt tất cả javascript, chỉ các hộp cảnh báo Javascript. Những cái bật lên và buộc bạn bấm OK hoặc X để đóng chúng.

Tôi đã tìm thấy các tập lệnh người dùng yêu cầu thực hiện việc này (ví dụ: http://userscripts.org/scripts/show/58252 ). Tôi đã đặt chrome trên kênh dev, bắt đầu chrome với công tắc --enable-user-script, tập lệnh hiển thị như đã cài đặt.

Nhưng tôi vẫn nhận được các hộp cảnh báo.

Một hộp cảnh báo ví dụ không bị vô hiệu hóa là tại http://wordswithfriends.net/ - đặt bất kỳ từ rác nào vào trình xác thực từ trên thanh bên phải. Bạn nhận được một cửa sổ bật lên cho bạn biết đó không phải là một từ.

Câu trả lời:


17

Cách duy nhất để vô hiệu hóa các hộp cảnh báo là cài đặt tiện ích mở rộng hoặc mô tả người dùng. Bản mô tả người dùng bạn đã liên kết là dành cho Firefox Greasemonkey và sẽ không hoạt động trên Chrome.

Ngoài ra, trang lưu trữ sai mà bạn trích dẫn là lén lút và chạy "trình xác thực từ" đó bằng một iframemã kích hoạt alert()ngay lập tức khi tải lại iframe.

Nhưng đây là một bản mô tả đánh bại nó:

// ==UserScript==
// @name        Wordswithfriends, Block javascript alerts
// @match       http://wordswithfriends.net/*
// @run-at      document-start
// ==/UserScript==

addJS_Node (null, null, overrideSelectNativeJS_Functions);

function overrideSelectNativeJS_Functions () {
    window.alert = function alert (message) {
        console.log (message);
    }
}

function addJS_Node (text, s_URL, funcToRun) {
    var D                                   = document;
    var scriptNode                          = D.createElement ('script');
    scriptNode.type                         = "text/javascript";
    if (text)       scriptNode.textContent  = text;
    if (s_URL)      scriptNode.src          = s_URL;
    if (funcToRun)  scriptNode.textContent  = '(' + funcToRun.toString() + ')()';

    var targ = D.getElementsByTagName ('head')[0] || D.body || D.documentElement;
    targ.appendChild (scriptNode);
}

Nếu bạn thực sự muốn tắt TẤT CẢ alerts()trên TẤT CẢ các trang (Không được khuyến nghị), thì hãy xóa // @matchdòng này.


7
Tôi chấp nhận câu trả lời này rất khó để con chuột của tôi phát nổ. Hoạt động như một lá bùa. Cảm ơn bạn rất nhiều ^^
CreeDorofl

Không có gì! Vui mừng được giúp đỡ.
Brock Adams

Tại sao không nên tắt tất cả các cảnh báo? Tôi chưa bao giờ đi qua các cảnh báo hữu ích ngoại trừ "bạn có thực sự muốn thoát khỏi tab này" trên các trang tiến trình chưa được lưu.
Coretek

Không hoạt động nếu trang hiển thị cảnh báo trong khi tải.
RIV

@riv, mở một câu hỏi mới nếu bạn gặp trường hợp không hoạt động. Hãy chắc chắn cung cấp một công thức hoàn chỉnh để nhân đôi vấn đề.
Brock Adams


0

Nếu bạn đang tìm kiếm một công cụ cho việc này và không muốn gây rối với tập lệnh người dùng - có một công cụ tuyệt vời có thể xử lý bất kỳ cửa sổ bật lên gây phiền nhiễu nào trên hệ thống Windows - ClickPack . Bạn có thể tải nó từ đây . Tôi đã kiểm tra, nó hoạt động với cảnh báo "Thay đổi bạn đã thực hiện có thể không được lưu" cho các trang SharePoint.


điều này nghe có vẻ thú vị, vì các quảng cáo lỗi gây phiền nhiễu sẽ rất tốt để loại bỏ nói chung. Nó có cho phép bạn chỉ định chính xác loại hộp thoại nào bạn muốn tự động OK / hủy không, hoặc bằng cách nào đó nó tự chọn chúng?
CreeDorofl

Có, bạn có thể chỉ định hộp thoại nào sẽ đóng và nút bấm.
Serhiy
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.