繁体   English   中英

chrome开发者工具为什么显示扩展ID打击了iFrame?

[英]Why does chrome dev tools show the extension ID blow the iFrames?

通常,当我使用Chrome中开发人员工具的“ Console标签时,会看到如下所示的iFrame列表:

在此处输入图片说明

但是,安装某些扩展程序后,在“ Console选项卡中的多个iFrame下方会看到扩展程序ID,如下所示:

在此处输入图片说明

  1. 有人可以告诉我这是什么意思吗? 我想这些iFrame的父项是扩展名,但我不确定。 如果我错了,谁能纠正我?

  2. 另外,如果这些iFrame的父项是扩展名,那么有什么方法可以跟踪它们吗? 通过跟踪它们,我的意思是说我想运行命令window.open = function () { debugger; } window.open = function () { debugger; }对于所有此类框架,我可以这样做吗?

您正在查看的是扩展内容脚本。 实际上,它们作为每个选项卡或(对于此扩展名)每个iFrame的子项加载。

如果您在控制台中选择一个,然后执行以下操作:

> chrome.runtime.getManifest()

最相关的输出是:

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

在这里,all_frames是您在每帧之后看到扩展名而不是在选项卡主窗口下看到一次扩展名的原因。

(也可能有背景,您可以从设置的扩展程序列表中进行检查。)

要调试内容脚本,实际上在开发人员控制台->源下有一个选项卡。 在这里,我在内容脚本初始化期间(在用“ {}”图标展开代码后)的特定行上设置了一个断点:

内容脚本的断点

在更改iFrame或重新加载整个窗口时,此时每个内容脚本在开发人员工具打开时都会暂停。

内容脚本有一些限制 ,因此,即使有专门设置侦听器的消息传递系统,也可以实现类似的结果,但您不应能够在一个iFrame中任意执行代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM