【问题标题】:Create iframe and then maninuplate its contents创建 iframe,然后对其内容进行操作
【发布时间】:2014-02-10 10:18:19
【问题描述】:

我想做的是打开一个 iframe,指向另一个网站,然后在那个网站上提交一个表单。

这显然是跨域的,所以 Chrome(我假设是其他浏览器)一旦加载,就不允许我对 iframe 的内容做任何事情。

所以我尝试在 Chrome 扩展程序中执行此操作。我遇到了类似的错误:

未捕获的安全错误:阻止了来源为“chrome-extension://amnacjaocbabmgfjcbmgbhikfedaanmo”的框架访问来源为“http://www.example.com”的框架。请求访问的帧具有“chrome-extension”协议,被访问的帧具有“http”协议。协议必须匹配。

关于如何进行这项工作的任何建议?如有必要,我可以发布有关我当前方法的更多详细信息。但是,我对其他建议持开放态度(例如打开一个新标签并在那里进行工作等)。任何人都知道一些不会出现某种安全错误的方法吗?

编辑:到目前为止,我想出的最佳解决方案是使用后台脚本打开一个新选项卡,并使用内容脚本来操作其内容。如果我可以将页面加载到 iframe 中,然后将内容脚本仅发送到该 iframe,那就太好了,但我还没有弄清楚该怎么做。

【问题讨论】:

    标签: javascript google-chrome iframe google-chrome-extension cross-domain


    【解决方案1】:

    在嵌入页面的页眉中,包含以下页眉:

    X-Frame-Options: ALLOW-FROM www.example.com
    

    这至少绕过了 Chrome 和 Firefox。您的里程可能因 IE 而异。

    【讨论】:

    • 我无法控制嵌入页面(即我无法添加页眉条目)。
    • 另外,我认为 X-Frame-Options 只是说“这个页面可以嵌入”。我已经可以嵌入它,只是一旦加载就无法操作它。
    猜你喜欢
    • 1970-01-01
    • 2012-05-30
    • 2023-03-28
    • 1970-01-01
    • 2011-07-06
    • 2014-12-20
    • 2021-03-05
    • 2021-10-31
    • 1970-01-01
    相关资源
    最近更新 更多