以下是完整的Greasemonkey脚本,用于删除在firefox中启用adblocker时弹出或阻止实际Web内容的模型屏幕/页面。但它没有删除模型屏幕。
/ **
// ==UserScript==
// @name test
// @namespace test
// @include *
// @version 1
// @grant none
// ==/UserScript==
if (document.getElementsByClassName('tmask')[0]) {
document.getElementsByClassName('tmask')[0].style.display = 'none';
document.getElementsByClassName('tbox')[0].style.display = 'none';
}
** /
但是当弹出模态页面时,如果我打开" Web Developer> Web控制台"并执行这些行
if (document.getElementsByClassName('tmask')[0]) {
document.getElementsByClassName('tmask')[0].style.display = 'none';
document.getElementsByClassName('tbox')[0].style.display = 'none';
}
它可以工作,即删除模态网页,让我阅读网页内容。
感谢任何帮助。如果需要更多信息,请告诉我。
答案 0 :(得分:0)
var interval;
function go()
{
if (document.getElementsByClassName('tmask')[0]) {
document.getElementsByClassName('tmask')[0].style.display = 'none';
document.getElementsByClassName('tbox')[0].style.display = 'none';
clearInterval(interval);
}
}
window.addEventListener( 'load', function( event )
{
if( window.top == window.self ) //don't run in frames
{
interval = setInterval( go, 500 );
}
}, false );
我的猜测是你不是在等待页面加载,因此你的脚本在“tmask”实际存在之前运行。