1

我的一个项目有问题

我正在开发一个将 html 代码注入页面的 chrome 扩展,特别是我正在注入一个由浏览器操作触发的引导模式。

我目前面临的问题是负责在末尾注入模态的代码body也将其注入到任何iframes存在中。

这是我正在使用的代码:

$('html > body:not(iframe body)').append(container);

遗憾的是,这不会导致选择预期的正文元素。由于代码是注入的,并且我无法控制源文档,因此我不能依赖.first().last()作为解决方法

对此问题的任何帮助将不胜感激:)

编辑:通常问题iframes出在类型元素内#document(如果我有所需的声誉,我会发布它的图像)

4

2 回答 2

1

尝试使用filter

$('body').filter(function() {
    return !($(this).closest('iframe').length > 0);
}).append(container);

演示

于 2013-06-03T21:19:25.283 回答
1

正如 myrsnipe 提到的,如果您希望仅将脚本注入到您必须"all_frames": false在清单中设置的顶部框架中。我正在写这个,所以它显示为一个答案,而不仅仅是在评论中。

于 2014-04-04T13:13:31.053 回答