它们代表什么?这在哪里记录?例如,
...
"content_scripts":[
{
"matches": ["<all_urls>"],
"css" : ["inject.css"],
"js": ["filter.js"],
"run_at": "document_end",
"all_frames": true
}],
...
或
...
"permissions": [
"file://*/*",
"tabs",
"storage",
"activeTab"
],
...
例如,我怎么知道是否不应该
...
"permissions": [
["file://*/*"],
["tabs"],
["storage"],
["activeTab"]
],
...
尽管用content_script键值的看似奇怪的形式说明了更好的示例。好像给键分配了一个数组,该数组有时包含单个元素,有时仅包含字符串,甚至是布尔值。括号不代表数组吗?它们代表索引吗?标签索引?
答案 0 :(得分:1)
Chrome扩展程序清单遵循JSON格式,这意味着方括号表示某种数组。 Manifest file format docs明确指出字段值何时应为数组,何时不该为数组。例如,
"chrome_url_overrides": {...},
表示chrome_url_overrides
的值必须是一个对象(用{...}
表示),而
"content_scripts": [{...}],
表示content_scripts
的值必须是对象数组。即使您仅在其中定义了一个内容脚本,仍希望将其包含在数组中。
关于您的permissions
示例,documentation如下:
每个许可权可以是已知字符串列表(例如 “地理位置”)或匹配模式
它从不说“可以是字符串列表的列表”。此外,文档页面上的示例进一步说明了它只是一个字符串数组,而不是数组数组。
答案 1 :(得分:0)
括号仅表示它是一个数组。有时它只包含一个元素,但是仍然需要使用方括号。