Як можна відключити спливаючі вікна / сповіщення javascript у Chrome?


20

Вибачте, якщо його запитали. Я вже знайшов кілька рішень, які не працюють. Не впевнений, що я роблю неправильно.

Я не хочу відключати всі JavaScript, лише поля попередження Javascript. Ті, що з’являються, і змушують вас натиснути ОК або X, щоб закрити їх.

Я знайшов сценарії користувачів, які претендують на це (наприклад: http://userscripts.org/scripts/show/58252 ). Я поставив хром на канал розробників, запустити хром за допомогою перемикача --enable-user-script, скрипт відображається як встановлений.

Але я все одно отримую скриньки оповіщення.

Приклад вікна попередження, який не вимикається, знаходиться на веб- сайті http://wordswithfriends.net/ - введіть будь-яке сміттєве слово у валідатор слів на правій бічній панелі. У вас з’являється спливаюче вікно, яке скаже вам, що це не слово.

Відповіді:


17

Єдиний спосіб відключити вікна оповіщення - це встановлення або розширення, або сценарію користувача. Користувацький сценарій, з яким ви пов’язані, призначений для Firefox Greasemonkey і не працюватиме в Chrome.

Крім того, сторінка, що цитує вас недоброзичливо, є примхливою і запускає це "валідатор слів" у iframeкоді, який запускає alert()негайно після перезавантаження iframe.

Але ось користувальницький сценарій, який його перемагає:

// ==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);
}

Якщо ви дійсно хочете відключити ВСІ alerts()на ВСІХ сторінках (Не рекомендується), видаліть // @matchрядок.


7
Я прийняв цю відповідь так сильно, що миша вибухнула. Працює як шарм. Дуже дякую ^^
CreeDorofl

Ласкаво просимо! Радий допомогти.
Брок Адамс

Чому не рекомендується відключати всі сповіщення? Я ніколи не стикався з корисними сповіщеннями, окрім "чи дійсно ви хочете вийти з цієї вкладки" на незбережених сторінках прогресу.
Coretek

Не працює, якщо на сторінці відображаються сповіщення під час завантаження.
riv

@riv, відкрий нове запитання, якщо у тебе є випадок, коли він не працює. Обов’язково надайте повний рецепт дублювання проблеми.
Брок Адамс

2

існує принаймні одне розширення для цього в Chrome Web Store . Це працює для мене, хоча це звучить трохи підозріло, що у нього є додаткова підтримка в режимі реклами, яку ви можете відключити на сторінці налаштувань. (Я не знайшов налаштування, але зрозумів, що це не може зашкодити нульовій маршрутизації api.s13.us.)


0

Якщо ви шукаєте інструмент для цього і не хочете возитися зі сценаріями користувачів - є приємний інструмент, який може обробляти будь-які надокучливі спливаючі вікна в системі Windows - ClickOff . Ви можете завантажити його звідси . Я перевірив, він працює з попередженням "Зміни, які ви внесли, можливо, не збережено" для сайтів SharePoint.


це звучить цікаво, так як дратівливі помилки, що з’являються, було б непогано усунути загалом Чи дозволяє вам точно вказати, які діалоги ви хочете автоматично ОК / скасувати, чи він якось вибирає їх сам?
CreeDorofl

Так, ви можете вказати, які діалоги потрібно закрити та кнопку, яку потрібно натиснути.
Сергій
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.