Chrome扩展:权限和匹配模式(匹配模式)之间的区别

5

我正在尝试理解以下两者之间的区别:

  "permissions": [
    "*.google.com"
  ],

并且

"content_scripts": [
    {
      "matches": ["*.google.com"]
    }
  ]
1个回答

7

1. 域名权限

网页无法进行跨域XMLHttpRequest (AJAX)请求,但是扩展程序可以。在权限中添加域名将允许您从内容脚本对指定的域名进行ajax请求。

2. 匹配模式

内容脚本工作于已加载的页面内。通过 matches ,您可以指定要注入内容脚本的页面。

例如:我想从 openweathermap.org 获取天气数据,并仅在 google.com 页面上显示数据。

"permissions": [
  "http://api.openweathermap.org/*"
],
"content_scripts": [
  {
    "matches": ["https://*.google.com/*"],
    "js": ["js/content.js"]
  }
]

这与"activeTab"有什么关系?我有一个按钮,用户应该能够单击它,然后在当前(任何)页面上运行脚本,并从API端点发送和检索信息。我不希望在没有单击的情况下访问任何内容。 API端点由用户在选项页面中提供。权限=“activeTab”和匹配= <all_urls>是实现此目的最严格的方式吗? - AntonOfTheWoods

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接