我试图附加到$('body'),但有些网站在iframe中使用完整的html页面,这意味着它 - 页面 - 有两个或更多身体标签,我试图使用$('body ').first(),但没有运气,有什么想法吗?同样适用于html标签。
编辑1 :根据请求显示一些代码,我将进一步解释,我正在创建一个chrome扩展,将固定的div附加到当前页面,当只有一个时,一切正常一个html / body标签,除了div被附加到页面中的所有html / body标签,就像有人说“给它一个ID”,我不能,这不是我的页面我没有真正的控制通过服务器生成的DOM,我只能注入它,无论如何这里是处理附加div的代码。
formDiv = jQuery('<div/>', {
id : 'fform',
class :'_fform',
html : fhtml,
style : 'left:' + document.body.scrollLeft + ';top:' + document.body.scrollTop
})
$('html').first().append(formDiv);
编辑2 :我怀疑它现在与Chrome扩展程序清单中的“all_frames”有关。
答案 0 :(得分:1)
检查网站是否有框架,并采取相应措施?
formDiv = jQuery('<div/>', {
id : 'fform',
'class' :'_fform',
html : fhtml,
style : 'left:' + document.body.scrollLeft + ';top:' + document.body.scrollTop
});
if (top === self) {
$('html').append(formDiv);
} else {
$(parent.document).append(formDiv);
}
另一方面,您通常必须访问contextWindow才能附加到iFrame,因此仅定位常规标记应该不是问题。