使用扩展中的AJAX访问远程域

时间:2012-07-26 21:55:03

标签: javascript ajax google-chrome-extension same-origin-policy

我正在尝试开发一个AJAX是特定页面的Chrome扩展程序,然后根据该页面上的内容显示通知。 (使用webkitNotifications

这个页面是一个票务系统,我正在检查的是用户是否已登录,以及他们是否有新票。更重要的是,我不拥有或无法控制远程页面。

我因Same Origin Policy而陷入困境。基本上,当我尝试AJAX页面时,我收到以下错误:

XMLHttpRequest cannot load http://{{ Remote Site URL }}. Origin chrome-extension://gcagdmmcgmldhommhlckpbgdmlfojblp is not allowed by Access-Control-Allow-Origin.

我从来没有为Chrome或任何其他浏览器开发过扩展程序,所以我不确定可能的解决方法。

我试过通过Google和SO寻找解决方案,但我似乎无法找到任何适合我需求的东西。

1 个答案:

答案 0 :(得分:2)

Google Chrome扩展程序文档有一个专门用于cross-domain XHR的页面。只需添加一个URL match pattern即可满足您希望获取的网站作为您的清单的权限。一个好的匹配模式可能看起来像

  • http://www.example.com/*
  • *://www.example.com/*(适用于HTTP和HTTPS)
  • https://*.example.com/*(对于example.com通过HTTPS的所有子域名)