2

我正在尝试让我的 Chrome 扩展程序与 Google Calendar API 一起使用。然而,谷歌设置扩展沙箱的方式几乎不可能。

我无法使用 JavaScript 添加日历 API,因为我尝试了 200 种不同的方法来包含http://www.google.com/jsapi库。因此,我想尝试使用 PHP 与 Calendar API 进行交互。为了运行我的 PHP 文件,甚至可以从 Chrome 扩展程序执行 POST 吗?如果没有,几乎不可能与任何没有可下载库的外部 API 进行交互,不是吗?如果是这种情况,我看不出如何使用 Chrome 扩展程序来做任何有用的事情。

4

1 回答 1

4

我认为您仍然遇到困难,因为您不完全了解内容脚本和背景页面之间的区别。

内容脚本有一定的限制。他们不能:

  • 使用 chrome.* API(chrome.extension 的部分除外)
  • 使用由其扩展页面定义的变量或函数
  • 使用由网页或其他内容脚本定义的变量或函数
  • 制作跨站 XMLHttpRequests

基本上,他们所能做的就是访问他们被注入的页面的 DOM 并与后台页面通信(通过发送请求)。

幸运的是,后台页面没有任何这些限制,只是它无法访问用户正在查看的页面。好消息是后台页面可以与内容脚本通信(再次通过请求)。

如您所见,背景页面和内容脚本相辅相成。如果您同时使用两者,您几乎没有任何限制。您所需要的只是在这两者之间正确拆分您的逻辑。

至于您最初的问题 - 内容脚本不能发出跨域请求,但背景页面可以。你可以在这里阅读更多。

于 2010-10-19T04:28:57.577 回答