如何禁用特定的 JavaScript 警报

如何禁用特定的 JavaScript 警报

在我访问的一个活跃网站上,每个页面上都会显示此 javascript 代码。

<script type="text/javascript">
(function(){var d=document;var i=d.getElementsByTagName('iframe');if(google_ad_client!=null||(window.getComputedStyle?d.defaultView.getComputedStyle(i[i.length-1],null).getPropertyValue('display'):i[i.length-1].currentStyle['display'])=='none'){

alert('Adblock detected, please consider disabling it')

}})()
</script>

有没有什么办法可以让我使用广告拦截器(或者任何其他类型的插件)来禁用该特定代码,而无需禁用所有 javascript?

答案1

您可以使用油脂猴附加组件来重写该alert函数:

// ==UserScript==
// @name        Catch JS Alert
// @namespace   http://igalvez.net
// @include     http://*
// @version     1
// @grant       none
// @run-at      document-start
// ==/UserScript==

window.alert = function(message) {
    if(message == 'Adblock detected, please consider disabling it') {
        console.log(message);
    } else {
        confirm(message);
    }
}

其工作方式如下:

如果警告框的消息与“检测到 Adblock,请考虑禁用它”匹配,则将其丢弃到 JS 控制台(不会显示)。否则,将警告框显示为框confirm

相关内容