你能在Chrome扩展中使用jQueryPost吗?

你能在Chrome扩展中使用jQueryPost吗?,post,google-chrome,google-chrome-extension,google-calendar-api,jquery-post,Post,Google Chrome,Google Chrome Extension,Google Calendar Api,Jquery Post,我正在尝试让我的Chrome扩展与Google日历API一起工作。然而,谷歌建立扩展沙箱的方式使得任何事情都几乎不可能 我无法使用JavaScript添加日历API,因为我尝试了200种不同的方法来包含该库。因此,我想尝试用PHP与日历API交互。为了运行我的PHP文件,甚至可以从Chrome扩展插件中发布帖子吗?如果没有,那么几乎不可能与任何没有可下载库的外部API交互,不是吗?如果是这样的话,我看不出Chrome扩展有什么用处。我认为你仍然有困难,因为你没有完全理解内容脚本和背景页面之间的区

我正在尝试让我的Chrome扩展与Google日历API一起工作。然而,谷歌建立扩展沙箱的方式使得任何事情都几乎不可能


我无法使用JavaScript添加日历API,因为我尝试了200种不同的方法来包含该库。因此,我想尝试用PHP与日历API交互。为了运行我的PHP文件,甚至可以从Chrome扩展插件中发布帖子吗?如果没有,那么几乎不可能与任何没有可下载库的外部API交互,不是吗?如果是这样的话,我看不出Chrome扩展有什么用处。

我认为你仍然有困难,因为你没有完全理解内容脚本和背景页面之间的区别

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

  • 使用chrome.*api(chrome.extension部分除外)
  • 使用由其扩展页定义的变量或函数
  • 使用由网页或其他内容脚本定义的变量或函数
  • 进行跨站点XMLHttpRequests
基本上,它们所能做的就是访问它们被注入的页面的DOM,并与后台页面通信(通过发送请求)

谢天谢地,后台页面并没有这些限制,只是它不能访问用户正在查看的页面。好消息是,后台页面可以与内容脚本通信(同样通过请求)

正如您所看到的,背景页面和内容脚本相互补充。如果同时使用这两种方法,几乎没有任何限制。你所需要的只是在这两者之间正确地划分你的逻辑


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

Serg,感谢您解释其中的差异。我已经知道了,但是你的帖子让我明白了一点。我不知道XMLHttpRequests的存在。他们允许发布JSON吗?@joshholat是的,任何你想要的。您可以将jquery(或您选择的框架)包含到bkgd页面中,并使用其ajax特性而不是本机XMLHttpRequest。