2011-12-09 38 views
3

我想在Safari扩展注入脚本中找出交叉源AJAX调用的正确配置。在Safari扩展注入脚本中交叉源AJAX调用

我在扩展生成器配置:

  • 扩展网站访问:所有
  • 包括安全页数:真
  • 白名单: -
  • 黑名单: -

我的目标是获得像Chromes“权限”这样的东西:“http://mysite.com/*”,并且能够从Web服务中获取用户配置。

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

回答

4

对此有什么好运?我遇到同样的问题。在Chrome扩展中,相同的设置可以正常工作,但在Safari扩展中尝试使用时会触及Access-Contol-Allow-Origin。

固定 - 更新: 嘿,我想清楚是什么问题。所以,看起来你需要通过后台页面来完成跨域Ajax。我最终做的是确定我需要在注入的脚本中创建的所有请求,然后将请求传递给后台页面。后台页面监听来自注入脚本的消息,进行适当的ajax调用,然后通过消息将结果发送到注入的脚本。然后,注入的脚本会从后台页面侦听消息,一旦它获得带有ajax结果的消息,它就会在正在查看的页面中采取适当的操作。

+0

我使用相同的解决方案,但这不是我所期望的。看起来在Safari中没有这样的选项。 – biesiad

+0

你好@nicoslepicos我不知道safari扩展中的任何背景页面。你能指点我一些文件吗?谢谢 – Alejandro