Chrome'da javascript açılır pencerelerini / uyarılarını nasıl devre dışı bırakabilirim?


20

Sorulursa özür dilerim. Çalışmayan birkaç çözüm buldum. Neyi yanlış yaptığımdan emin değilim.

Tüm javascript'i devre dışı bırakmak istemiyorum, sadece Javascript uyarı kutuları. Açılan ve sizi kapatmak için Tamam'ı veya X'i tıklatmaya zorlayanlar.

Bunu iddia eden kullanıcı komut dosyaları buldum (örnek: http://userscripts.org/scripts/show/58252 ). Chrome'u dev kanalına koydum, --enable-user-scriptler anahtarıyla chrome'u başlattım, komut dosyası yüklü olarak görünüyor.

Ama hala uyarı kutularını alıyorum.

Devre dışı bırakılmayan örnek bir uyarı kutusu http://wordswithfriends.net/ adresindedir - herhangi bir çöp kelimeyi sağ kenar çubuğundaki kelime doğrulayıcıya koyun. Bir kelime olmadığını söyleyen bir açılır pencere alırsınız.

Yanıtlar:


17

Uyarı kutularını devre dışı bırakmanın tek yolu bir uzantı veya kullanıcı metni yüklemektir. Bağladığınız kullanıcı Firefox Greasemonkey içindir ve Chrome'da çalışmaz.

Ayrıca, alıntı yaptığınız yanlış davranan sayfa sinsidir ve iframe yeniden yüklemesinin hemen ardından tetiklenen bir iframekodla bu "kelime doğrulayıcı" yı çalıştırır alert().

Ancak, onu yenen bir kullanıcı metni:

// ==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()TÜM sayfalarda TÜMÜ'nü gerçekten devre dışı bırakmak istiyorsanız (Önerilmez), // @matchsatırı silin .


7
Bu cevabı o kadar sert kabul ettim ki farem patladı. Tıkır tıkır çalışıyor. Çok teşekkür ederim ^^
CreeDorofl

Rica ederim! Yardımcı olduğuma sevindim.
Brock Adams

Neden tüm uyarıları devre dışı bırakmanız önerilmez? Kaydedilmemiş ilerleme sayfalarında "bu sekmeden gerçekten çıkmak istiyor musunuz?" Dışında yararlı uyarılarla karşılaşmadım.
Coretek

Sayfa yükleme sırasında uyarılar gösteriyorsa çalışmaz.
riv

@riv, işe yaramadığı bir vakanız varsa yeni bir soru açın. Sorunu çoğaltmak için eksiksiz bir reçete yazdığınızdan emin olun.
Brock Adams

2

Orada en az bir uzantısı bunun için Chrome Web Mağazası'ndan . Reklamlar tarafından isteğe bağlı bir desteğe sahip olduğundan biraz şüpheli görünse de, ayarlar sayfasında devre dışı bırakabilirsiniz. (Ayarı bulamadım, ancak boş yönlendirmeye zarar veremediğini düşündüm api.s13.us.)


0

Bunun için bir araç arıyorsanız ve kullanıcı komut dosyalarıyla uğraşmak istemiyorsanız - Windows sistemindeki herhangi bir can sıkıcı pop-up'ı işleyebilen güzel bir araç var - ClickOff . Buradan indirebilirsiniz . Kontrol ettim, SharePoint siteleri için "Yaptığınız değişiklikler kaydedilemeyebilir" uyarısıyla çalışır.


Bu can sıkıcı hata pop-up'ları genel olarak kaldırmak güzel olurdu gibi ilginç geliyor. Tam olarak ne tür diyalogları otomatik olarak OK / iptal etmek istediğinizi belirtmenize izin veriyor mu yoksa bir şekilde bunları tek başına mı seçiyor?
CreeDorofl

Evet, hangi diyalogların kapatılacağını ve tıklanacak düğmeyi belirleyebilirsiniz.
Serhiy
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.