Gar*_*ley 17 iframe google-chrome-extension
如果我在页面上编写一个运行JS片段的Chrome扩展程序,它是否也可以在我创建的任何iframe中运行?如果是这样,这是否适用于在DOM加载后由Javascript创建的iframe?
谢谢!
Ada*_*res 36
是的,Chrome扩展程序"内容脚本"可以在所有iframe中运行(最初在加载页面时位于HTML中).要使内容脚本在所有框架中运行,您需要使用以下all_frames属性在Chrome扩展程序manifest.json中对其进行配置:
http://code.google.com/chrome/extensions/content_scripts.html
{
"name": "My extension",
...
"content_scripts": [
{
"matches": ["http://www.google.com/*"],
"css": ["mystyles.css"],
"js": ["jquery.js", "myscript.js"],
"all_frames": true
}
],
...
}
Run Code Online (Sandbox Code Playgroud)
不,内容脚本不会在通过页面中的JavaScript动态加载的iframe中执行.
清单中定义的内容脚本(带有"all_frames": true)将在新创建的 iframe 上运行。重要的是,每个帧都会启动一个新的导航,并且内容脚本计划在此时注入。
相反,如果您使用动态注入代码chrome.tabs.executeScript(),那么它只会被注入到您调用它时存在的帧中。webNavigation如果你想跟上它们,你需要一些机制来检测新帧(突变观察者? API?)。
| 归档时间: |
|
| 查看次数: |
13140 次 |
| 最近记录: |