【问题标题】:Curious difference in behavior between Chrome & Safari extensions w/iFrames带有 iFrame 的 Chrome 和 Safari 扩展程序之间的奇怪行为差异
【发布时间】:2013-08-11 03:08:07
【问题描述】:

我在 Chrome 和 Safari 中开发了扩展程序,我注意到 iFrame 的行为存在奇怪的差异。我开发的扩展将内容脚本注入到与 url 模式匹配的所有站点中:

http://*.nationstates.net/*

在 Safari 上,此扩展将内容脚本注入到每个 iFrame 中,其 src 也与此模式匹配。在 Chrome 上,它只将内容脚本注入到每个匹配的网页中,而不是 iFrame。

The extension code is on Github.

为自己安装扩展:http://forum.nationstates.net/viewtopic.php?f=15&t=243404

最容易看到这种行为的地方是:http://nationstatespostmaster.com/ 单击一个元素会打开一个指向国家页面的 iFrame。在 Chrome 上,未加载扩展程序。在 Safari 上是这样。

【问题讨论】:

    标签: iframe google-chrome-extension safari-extension


    【解决方案1】:

    在 Chrome 扩展程序中,您可以指定 "all_frames": true 以匹配主页中 URL 与该模式匹配的所有框架。但是,“匹配”中指定的模式仅适用于顶级框架 URL。如果不将内容脚本注入主框架,则无法将内容脚本注入子框架。

    【讨论】:

    • 所以,如果我理解的话,我必须为所有 url 授予我的扩展权限?这看起来真的很糟糕......
    • 不,无视。你是对的, all_frames 完全按照描述工作。我只是对这是默认的 Safari 行为感到惊讶。 developer.chrome.com/extensions/content_scripts.html
    猜你喜欢
    • 2022-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多