在Chrome扩展程序后台脚本上接收CORS策略

Nightloewe

每次我使用后台脚本调用另一个网站时fetch(),都会收到此错误:Access to XMLHttpRequest at 'http://127.0.0.1:8080/api/allowedDomains' from origin 'chrome-extension://ngaahahncefaccijfgplkmbghbbolonk' has been blocked by CORS policy

JoshuaCWebDeveloper

编辑:

正如@ avalanche1在评论中指出的那样,在扩展安全性源中运行的扩展脚本不受网页和扩展内容脚本的CORS限制。根据Chrome关于此主题的文档

通过将主机或主机匹配模式(或两者)添加到清单文件的权限部分,该扩展可以请求访问其来源之外的远程服务器。

{
  "name": "My extension",
  ...
  "permissions": [
    "https://www.google.com/"
  ],
  ...
}

原始答案:

有关发生这种情况的更多信息,请参见https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS

出于安全原因,浏览器限制了从脚本发起的跨域HTTP请求。例如,XMLHttpRequest和Fetch API遵循同源策略。这意味着使用这些API的Web应用程序只能从加载应用程序的同一来源请求资源,除非来自其他来源的响应包括正确的CORS标头。

长话短说,除非您允许该网站,否则您无法向其他网站提出请求。

如果您控制要向其发送请求的网站(因为localhost在这种情况下可能是这种情况,我认为是这种情况),则可以将网站配置为使用正确的标头进行响应(有关详细信息,请参见上面的链接)。

如果您不控制该网站,那么除非提供服务的一方给您提供了一种以编程方式使用它的方式,否则无法从JS请求它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Chrome扩展程序后台脚本中的AngularJS

来自分类Dev

Chrome扩展程序:后台脚本捕获网络和HTTP错误

来自分类Dev

如何从Chrome扩展程序后台脚本访问页面变量

来自分类Dev

Chrome扩展程序后台脚本不起作用

来自分类Dev

Google Chrome扩展程序中有多个后台脚本吗?

来自分类Dev

Chrome扩展程序后台页面和内容脚本同步

来自分类Dev

Chrome扩展程序:如何使后台等待执行脚本?

来自分类Dev

Chrome邮件扩展程序:从注入脚本到后台

来自分类Dev

如何在Chrome扩展程序中动态运行后台脚本?

来自分类Dev

Chrome扩展程序:仅在刷新后,后台脚本才会启动

来自分类Dev

Chrome扩展程序:后台脚本捕获网络和HTTP错误

来自分类Dev

Chrome邮件扩展程序:从注入脚本到后台

来自分类Dev

如何在Chrome扩展程序中动态运行后台脚本?

来自分类Dev

在我的chrome扩展程序中仅执行一次后台脚本

来自分类Dev

Chrome扩展程序:检查后台脚本是否正在运行

来自分类Dev

Chrome扩展程序:后台脚本仅在第一次正常运行

来自分类Dev

Chrome扩展程序:后台脚本仅在第一次正常运行

来自分类Dev

Chrome扩展程序后台页面以编程方式注入的内容脚本多次注入

来自分类Dev

无法在Chrome扩展程序中从后台页面向内容脚本发送消息

来自分类Dev

Chrome扩展程序:Background.html中的iframe导致后台脚本调整运行2倍

来自分类Dev

从后台Chrome扩展程序访问窗口对象

来自分类Dev

Chrome扩展程序后台页面状态

来自分类Dev

从Chrome扩展程序内容脚本接收数据的AngularJS服务有时不会更新视图

来自分类Dev

Chrome通知未从Chrome扩展程序后台页面显示

来自分类Dev

Chrome通知未从Chrome扩展程序后台页面显示

来自分类Dev

有没有一种方法可以手动卸载Chrome扩展程序的后台脚本?

来自分类Dev

在Chrome扩展后台脚本中使用Sentry不会出错

来自分类Dev

Chrome扩展程序内容脚本访问扩展程序框架

来自分类Dev

chrome扩展程序的内容安全策略问题

Related 相关文章

  1. 1

    Chrome扩展程序后台脚本中的AngularJS

  2. 2

    Chrome扩展程序:后台脚本捕获网络和HTTP错误

  3. 3

    如何从Chrome扩展程序后台脚本访问页面变量

  4. 4

    Chrome扩展程序后台脚本不起作用

  5. 5

    Google Chrome扩展程序中有多个后台脚本吗?

  6. 6

    Chrome扩展程序后台页面和内容脚本同步

  7. 7

    Chrome扩展程序:如何使后台等待执行脚本?

  8. 8

    Chrome邮件扩展程序:从注入脚本到后台

  9. 9

    如何在Chrome扩展程序中动态运行后台脚本?

  10. 10

    Chrome扩展程序:仅在刷新后,后台脚本才会启动

  11. 11

    Chrome扩展程序:后台脚本捕获网络和HTTP错误

  12. 12

    Chrome邮件扩展程序:从注入脚本到后台

  13. 13

    如何在Chrome扩展程序中动态运行后台脚本?

  14. 14

    在我的chrome扩展程序中仅执行一次后台脚本

  15. 15

    Chrome扩展程序:检查后台脚本是否正在运行

  16. 16

    Chrome扩展程序:后台脚本仅在第一次正常运行

  17. 17

    Chrome扩展程序:后台脚本仅在第一次正常运行

  18. 18

    Chrome扩展程序后台页面以编程方式注入的内容脚本多次注入

  19. 19

    无法在Chrome扩展程序中从后台页面向内容脚本发送消息

  20. 20

    Chrome扩展程序:Background.html中的iframe导致后台脚本调整运行2倍

  21. 21

    从后台Chrome扩展程序访问窗口对象

  22. 22

    Chrome扩展程序后台页面状态

  23. 23

    从Chrome扩展程序内容脚本接收数据的AngularJS服务有时不会更新视图

  24. 24

    Chrome通知未从Chrome扩展程序后台页面显示

  25. 25

    Chrome通知未从Chrome扩展程序后台页面显示

  26. 26

    有没有一种方法可以手动卸载Chrome扩展程序的后台脚本?

  27. 27

    在Chrome扩展后台脚本中使用Sentry不会出错

  28. 28

    Chrome扩展程序内容脚本访问扩展程序框架

  29. 29

    chrome扩展程序的内容安全策略问题

热门标签

归档