如何在带有 iframe 的页面中仅附加到主体标签?
How to append to just the main body tag, in a page with iframes?
我正在开发一个 Greasemonkey 脚本来在 body 标签后面附加一个 div,这里是 jQuery:
$("body:first").append (
'<div id="btn" style="width:50px;display:block">SHOW</div> <div id="gmPopupContainer" style="display:none">my text here</div>'
);
只要页面上只有一个body标签就可以正常工作,但是当网页上有iframe时就会出现问题。它附加到嵌套在 iframe 中的所有正文。
我试过很多 jQuery 选择器都没有成功。正确的做法是什么?
你可以$("<div id="btn" ...>SHOW</div>").insertAfter('body');
一般来说,在您的元数据块中使用 @noframes
Doc 以在 iframes 中停止来自 运行 的脚本。
或者,在这种情况下,您也可以使用类似的东西:
var topmostFramesMainBody = $(top.document.body).first ();
如果这不起作用,提供 中指定的详细信息。
(请注意,您应该始终提供这些详细信息。)
我正在开发一个 Greasemonkey 脚本来在 body 标签后面附加一个 div,这里是 jQuery:
$("body:first").append (
'<div id="btn" style="width:50px;display:block">SHOW</div> <div id="gmPopupContainer" style="display:none">my text here</div>'
);
只要页面上只有一个body标签就可以正常工作,但是当网页上有iframe时就会出现问题。它附加到嵌套在 iframe 中的所有正文。
我试过很多 jQuery 选择器都没有成功。正确的做法是什么?
你可以$("<div id="btn" ...>SHOW</div>").insertAfter('body');
一般来说,在您的元数据块中使用 @noframes
Doc 以在 iframes 中停止来自 运行 的脚本。
或者,在这种情况下,您也可以使用类似的东西:
var topmostFramesMainBody = $(top.document.body).first ();
如果这不起作用,提供
(请注意,您应该始终提供这些详细信息。)