我有内容脚本,其中包含jquery ui组件,我想通过 http post 将数据发送到我的服务器。但是我已经意识到你不能将http发送消息发送到https网站,反之亦然。如果我将消息发送到后台脚本并从那里发帖,那么我会遇到问题吗?如果网站 http 或 https ,会有所作为吗?如果它有所作为我怎么能完成这个?
答案 0 :(得分:1)
如果您从后台脚本发送切换协议没有问题,但您必须声明对这些网址的权限:
查看更多at the google manifest documentation和此duplicated question
答案 1 :(得分:1)
是的,你可以在内容脚本中使用http POST以及任何其他http方法(例如,GET,PUT,PATCH) - 以及后台脚本物质
但是,在这两种情况下,您发送请求的网址都必须在您的扩展程序的权限中声明。你在清单中这样做。例如,如果您要将http请求发送到http://www.some-domain.com,则必须将该URL(或与该URL匹配的模式)添加到清单的permissions
数组中:
{
...
"permissions": [
"http://www.some-domain.com/*"
],
"name": "Test",
"manifest_version": 2,
"version": "0.0.0"
}
您可以为您的网址权限模式添加通配符;因此,如果您想要同时匹配https和http,则可以执行*://www.some-domain.com/*
之类的操作。 See the official literature here
我应警告您,如果您将内容脚本附加到以https而不是http加载的网页,则由于Chrome阻止混合内容,您可能不会发送不安全的http请求,我认为这需要用户覆盖。所以一个好的经验法则是:如果你将内容脚本附加到通过http加载的页面,那么使用http发送请求;如果您要附加到通过https加载的页面,请使用https。
最后一个提示:在更改清单后,不要忘记重新加载扩展程序,否则将不会反映权限更改。要重新加载您的扩展程序,请转到chrome://extensions
,找到您的扩展程序,然后点击重新加载。