内部#document元素中的Userscript

时间:2016-11-12 23:34:14

标签: javascript userscripts tampermonkey

我正在尝试编写一个Tampermonkey脚本将HTML附加到正文,但由于某种原因,HTML对话框会出现在广告中。 Google Chrome的inspect元素显示了这一点:

#document
<!doctype html>
<html>
<body> <!-- Another Body Tag -->
...
</body>
</html>

如您所见,还有另一个body标签,因此对话框也会显示在其中。 有没有办法只定位主<body>标记,而不是#document标记内的标记?

1 个答案:

答案 0 :(得分:0)

可能发生的事情是,因为您的@match非常贪婪,所以它会在页面上的所有HTML文档上运行。如果您只想在根页面上运行它,您可以检查窗口是否是&#34; top&#34;窗口。

if (window !== window.top) { // not the root, return early
    return;
}

当在框架集的页面上运行时,这可能会出现问题,但这不再是一种非常常见的做法,所以如果你发现这是一个问题,我会感到惊讶。