Javascript 如何在Greasemonkey或Tampermonkey中排除iframe?

Javascript 如何在Greasemonkey或Tampermonkey中排除iframe?,javascript,greasemonkey,tampermonkey,Javascript,Greasemonkey,Tampermonkey,我为一个网站创建了一个Greasemonkey脚本。脚本所做的是在页面末尾添加一个div。 document.body.insertBefore(myDiv, document.body.firstChild); 但现在该网站为谷歌广告添加了一个iframe,结果我的div也出现在iframe中,这不是我想要的 如何停止影响iFrame的脚本?我将此放在脚本顶部,以避免在帧或iFrame上运行: if (window.top != window.self) //don't run on fr

我为一个网站创建了一个Greasemonkey脚本。脚本所做的是在页面末尾添加一个div。

document.body.insertBefore(myDiv, document.body.firstChild);
但现在该网站为谷歌广告添加了一个iframe,结果我的div也出现在iframe中,这不是我想要的


如何停止影响iFrame的脚本?

我将此放在脚本顶部,以避免在帧或iFrame上运行:

if (window.top != window.self)  //don't run on frames or iframes
    return;

Greasemonkey现在支持(Tampermonkey和Scriptish长期支持)。
使用它可以更清晰地阻止iFrame中的操作


不幸的是,现在会在Firefox的浏览器控制台中触发警告:

警告:不推荐在函数外使用return,这可能会导致将来版本的Greasemonkey出现故障


该警告不是问题,您只需要将脚本包装在匿名函数中:
(function(){…})(),无论如何,这是一个很好的实践。谢谢你的
@noframes
,投票通过。更改了我的接受。谢谢你提供了一个更优雅的方式。