我正在编写一个Chrome扩展程序,该扩展需要在加载时更改流行的Web应用程序。不幸的是,该Web应用程序的大多数UI都在iFrame内部呈现,尽管该iframe的地址与我的 content_scripts 匹配声明,用户脚本仅针对顶帧调用。

问:是否有一种访问Chrome Content脚本扩展中iFrame内部渲染的HTML的方法?如果是,我应该指定哪些权限和其他清单选项?谢谢。

有帮助吗?

解决方案

我解决了问题。必须在“清单”的“ content_scripts”部分中指定以下选项。 "all_frames": true. 。没有它,脚本仅应用于顶帧。

//有时只需要小心地rtfm。

其他提示

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

此错误并不是您所遇到的问题(您想将内容脚本加载到iframe中,而不是在iframe和外部框架之间进行交互)好。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top