2014-09-30 56 views
0

通常,当我使用Chrome的开发者工具的Console选项卡上,我看到iFrame的列表如下所示:为什么chrome开发工具显示扩展ID吹iFrames?

enter image description here

然而,当我安装了一定的延伸我看到下面的扩展ID一批在Console选项卡的I帧像以下:

enter image description here

  1. 任何人能告诉我是什么d这意味着什么?我想这些iFrames的父母是扩展名,但我不确定。如果我错了,谁能纠正我吗?

  2. 此外,如果那些iFrames的父母是扩展是有什么办法来跟踪他们?通过跟踪它们,我的意思是说我想为所有这样的帧运行命令window.open = function() { debugger; },我可以这么做吗?

回答

1

你在看什么是扩展内容脚本。它们实际上是作为每个选项卡的子项或每个iFrame(在此扩展的情况下)加载的。

如果选择一个控制台,然后执行:

> chrome.runtime.getManifest() 

最相关的输出是:

{ ... 
content_scripts: Array[1] 
    0: Object 
    all_frames: true 
    js: Array[#] 
     0: "content.js" 
     ... 

这里,all_frames是你看到每一帧经过反复的延长期限的理由而不是在标签的主窗口下。

(也有可能是背景,你可以在设置扩展的上市视察。)

要调试的内容脚本,实际上是开发者控制台 - >来源下一个标签。在这里,我已经设置特定行上断点的内容的脚本初始化期间(扩大与“{}”的图标的代码后):

Breakpoint on a Content Script

当改变的iFrame或重新加载整个窗口,每个内容脚本然后在开发人员工具打开时暂停。

有一些content script limits,所以你不应该能够从另一个iFrame从另一个任意执行代码,虽然有一个消息传递系统,如果监听器是专门设置的,可以实现类似的结果。

+0

对不起之前没有接受它。我没有机会验证它。 – 2014-10-15 05:27:56