2009-10-08 106 views
10

我为网站创建了一个Greasemonkey脚本。脚本的功能是在页面末尾添加一个div。
如何排除Greasemonkey或Tampermonkey中的iframe?

document.body.insertBefore(myDiv, document.body.firstChild); 

但现在该网站增加了对谷歌的广告的iframe,因为我的div出现在iframe过的结果,这不是我想要的。

如何停止影响iframe的脚本?

回答

5

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


不幸的是,现在npdoty's answer将引发Firefox的浏览器控制台的警告:

警告:使用功能已被弃用外收益和可能造成的Greasemonkey的未来版本的失败。

+0

这个警告不是问题,你只需要将你的脚本包装在一个匿名函数中:'(function(){...})();',这是一个很好的练习。感谢@ noframes,upvoted。 – user 2015-01-12 18:12:49

+1

改变了我的接受程度。感谢您提供更优雅的方式。 – fwonce 2015-01-29 05:50:21

+0

不客气;乐意效劳。 – 2015-01-29 06:50:14

16

我把这个在我的脚本的顶部,以避免在框架或iFrame运行:

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

就是这样!感谢:-) – fwonce 2009-10-08 03:19:42

相关问题