all_frames:true 不适用于 stackoverflow 片段输出 window
all_frames:true not working for stackoverflow snippet output window
我创建了一个扩展,我想使用此清单将其注入到所有框架中:
"content_scripts": [
{
"js": ["myscript.js"],
"matches": ["*://*/*"],
"all_frames": true,
"run_at": "document_start",
"match_about_blank": true
}
],
为了这个问题,假设myscript.js
只有:
console.log('------------------------------------');
console.log(window);
console.log('------------------------------------');
当我尝试这个时它运行良好,即如果我尝试使用 Gmail,我可以看到许多 iframe 在我使用该网站时不断加载,每次我正确注入脚本并看到代码中的上面几行.
但是我发现了一个我无法理解的异常。如果我在 Whosebug 上打开代码片段编辑器,结果窗格是一个 iframe 不会被注入(即我没有在控制台中看到这些行)。
这是怎么回事?以及如何将代码段结果也注入 window?
您所指的实际 iframe
具有以下形式:
<iframe id="snpte-box-edit-result"
name="789af52f-65c6-4c71-b52f-66063e29d6f3"
sandbox="allow-forms allow-modals allow-scripts"
class="snippet-box-edit"
frameborder="0">
Content scripts documentation 引用 match_about_blank
:
Content scripts cannot be inserted in sandboxed frames.
所以,不幸的是,这将是一个例外,你不能 "break into"。
我创建了一个扩展,我想使用此清单将其注入到所有框架中:
"content_scripts": [
{
"js": ["myscript.js"],
"matches": ["*://*/*"],
"all_frames": true,
"run_at": "document_start",
"match_about_blank": true
}
],
为了这个问题,假设myscript.js
只有:
console.log('------------------------------------');
console.log(window);
console.log('------------------------------------');
当我尝试这个时它运行良好,即如果我尝试使用 Gmail,我可以看到许多 iframe 在我使用该网站时不断加载,每次我正确注入脚本并看到代码中的上面几行.
但是我发现了一个我无法理解的异常。如果我在 Whosebug 上打开代码片段编辑器,结果窗格是一个 iframe 不会被注入(即我没有在控制台中看到这些行)。
这是怎么回事?以及如何将代码段结果也注入 window?
您所指的实际 iframe
具有以下形式:
<iframe id="snpte-box-edit-result"
name="789af52f-65c6-4c71-b52f-66063e29d6f3"
sandbox="allow-forms allow-modals allow-scripts"
class="snippet-box-edit"
frameborder="0">
Content scripts documentation 引用 match_about_blank
:
Content scripts cannot be inserted in sandboxed frames.
所以,不幸的是,这将是一个例外,你不能 "break into"。