0

我正在尝试附加到 $('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”有关。

4

1 回答 1

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,因此仅针对常规标签应该不是问题。

于 2012-12-18T08:34:30.433 回答