【问题标题】:Cross origin AJAX call in Safari extension injected scriptSafari 扩展注入脚本中的跨源 AJAX 调用
【发布时间】:2011-12-20 04:06:16
【问题描述】:

我正在尝试找出 Safari 扩展注入脚本中跨源 AJAX 调用的正确配置。

我在 Extension Builder 中的配置:

  • 扩展网站访问:全部
  • 包括安全页面:true
  • 白名单:-
  • 黑名单:-

我的目标是获得类似 Chrome 的“权限”:“http://mysite.com/*”,并能够从网络服务中提取用户配置。

注意:JSONP 会丢弃警告,所以我宁愿避免它。

【问题讨论】:

    标签: ajax safari cross-domain


    【解决方案1】:

    这有什么好运气吗?我有同样的问题。相同的设置在 Chrome 扩展程序中运行良好,但在 Safari 扩展程序中尝试执行此操作时会点击 Access-Contol-Allow-Origin。

    已修复 - 更新: 嘿,我知道问题出在哪里了。因此,看起来您需要通过后台页面执行跨域 ajax。我最终要做的是确定我需要在注入脚本中发出的所有请求,然后将请求消息传递到后台页面。后台页面侦听来自注入脚本的消息,进行适当的 ajax 调用,然后通过消息将结果发送到注入脚本。然后,注入的脚本会监听来自后台页面的消息,一旦它获得带有 ajax 结果的消息,它就会在正在查看的页面中采取适当的操作。

    【讨论】:

    • 我使用相同的解决方案,但这不是我期望的。看起来 Safari 中没有这样的选项。
    • 你好 @nicoslepicos 我不知道 safari 扩展中有任何背景页面。你能指点我一些文件吗?谢谢
    猜你喜欢
    • 2011-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多