什么权限(如果有的话)我需要给我的Chrome扩展,让它远程AJAX调用

What permissions (if any) I need to give my Chrome Extension to let it make remote AJAX calls?

本文关键字:扩展 Chrome 我的 调用 AJAX 如果 权限 什么      更新时间:2023-09-26

我已经为我的图书馆写了一个Chrome扩展。它使一个AJAX调用api.library.edu(学校的图书馆)。

我的扩展使用jQuery和我的代码看起来像这样:

$.get("http://api.library.edu/?period=1month", function (data) {
    // process data
});

当我加载我的扩展,它使AJAX调用,我得到数据返回。

现在我绝对没有权限给我的扩展(permissions[])。

当我发布它时,我的扩展是否会工作?使用jQuery进行AJAX调用不需要特殊权限吗?

谢谢!我只是确保我写的扩展名是正确的

您的扩展不需要任何额外的权限从同一来源内进行AJAX调用。但是,如果api.library.edu没有设置正确的CORS标头,您可能需要为该域请求跨域权限:

{
  "name": "My extension",
  ...
  "permissions": [
    "http://api.library.edu/"
  ],
  ...
}

From Google's Docs:

每个正在运行的扩展都存在于自己单独的安全源中。无需请求额外的特权,扩展就可以使用XMLHttpRequest来获取其安装中的资源。

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

如果你的扩展已经工作,这将导致我相信,库API已经有跨域头集,你将不需要任何额外的权限。