我正在开发一个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选择器而没有成功。这样做的正确方法是什么?
答案 0 :(得分:2)
通常,在元数据块中使用@noframes
Doc 可阻止脚本在iframe中运行。
或者,在这种情况下,您还可以使用以下内容:
var topmostFramesMainBody = $(top.document.body).first ();
如果不起作用,会提供My very simple Greasemonkey script is not running?中指定的详细信息。
(请注意,您应始终提供这些详细信息。)
答案 1 :(得分:0)
您可以执行$("<div id="btn" ...>SHOW</div>").insertAfter('body');