【问题标题】:Accessing iframes from a Chrome content-script extension从 Chrome 内容脚本扩展访问 iframe
【发布时间】:2011-04-25 15:21:58
【问题描述】:

我正在编写一个 Chrome 扩展程序,它需要在加载时更改流行的网络应用程序。不幸的是,该 Web 应用程序的大部分 UI 都是在 iframe 中呈现的,尽管该 iframe 的地址与我的 content_scripts 匹配声明匹配,但用户脚本只会为顶部框架调用。

问:有没有一种方法可以从 Chrome 内容脚本扩展访问 iframe 中呈现的 HTML?如果是,我应该指定哪些权限和其他清单选项?谢谢。

【问题讨论】:

标签: iframe google-chrome-extension userscripts


【解决方案1】:

我已经解决了这个问题。必须在 manifest.json 的 content_scripts 部分中指定以下选项:"all_frames": true。没有它,脚本只会应用于顶部框架。

// 有时只需要小心地进行 RTFM。

【讨论】:

    【解决方案2】:

    即使"all_frames": true 在没有@src 的iframe 的情况下似乎也无济于事。这在错误http://code.google.com/p/chromium/issues/detail?id=20773 中进行了讨论,该错误还涵盖了一些解决方法,包括获取源页面中 iframe 元素的contentDocument,例如$('a', $($("#canvas_frame")[0].contentDocument)).

    这个错误并不完全是您遇到的问题(您想在 iframe 中加载内容脚本,而不是在 iframe 和外框之间进行交互),但我认为大多数遇到其中一个问题的人都会遇到另一个也是。

    【讨论】:

      猜你喜欢
      • 2012-07-04
      • 2013-05-20
      • 1970-01-01
      • 2011-09-28
      • 1970-01-01
      • 2011-11-02
      • 1970-01-01
      相关资源
      最近更新 更多