manifest php,扩展文件manifest.json

索瀚海
2023-12-01

以下为必选选项

```

{

"name": "TestExtention",

"manifest_version": 2,

"version":"1.0.0"

}

```

详情:

~~~

{

"author": "dash",

"name": "插件名",

"description": "插件描述",

"version": "2.1",

"manifest_version": 2,

"update_url": "https://baidu.com",

"icons": {

"128": "icon_16.png",

"128": "icon_32.png",

"128": "icon_48.png",

"128": "icon_128.png"

},

"background": {

"persistent": false,

"scripts": ["background.js"]

},

"devtools_page": "theme/hackbar.html",

// 插件主页,这个很重要,不要浪费了这个免费广告位

"homepage_url": "https://baidu.com",

"permissions": ["https://*.google.com/", "activeTab"],//权限

/*"permissions": [ "tabs", "activeTab", "webRequest", "webRequestBlocking", "\u003Call_urls>", "storage" ],*/

"browser_action": {

"default_icon": "icon_16.png",

"default_popup": "popup.html"

}

}

~~~

~~~

{

// Required

"manifest_version": 2,

"name": "My Extension",

"version": "versionString",

// 推荐 默认本地化语言

"default_locale": "en",

"description": "A plain text description",

// 用一个尺寸的也没问题 ,不同尺寸可以应对不同的缩放

"icons": {...},

// browser_action、page_action、app之间只能选择一个(或不选择)

//UI部分有图标(icon)、提示(tooltip)徽章(badge)、弹出框(popup)组成

"browser_action": {

"default_icon": "icons/icon.png",//图标(icon)

// 图标悬停时的标题,可选

"default_title": "这是一个示例Chrome插件", //对应提示(tooltip)

"default_popup": "popup.html"//弹出框(popup)

//徽章(badge)只能通过api设置

},

"page_action": {

"default_icon": "icons/icon.png",

// 图标悬停时的标题,可选

"default_title": "这是一个示例Chrome插件",

"default_popup": "popup.html"

},

// 可选

"action": ...,

"author": ...,

"automation": ...,

"background": {

// 推荐

"persistent": false,

// 指定页面或者js,如果指定JS,那么会自动生成一个背景页

//"page": "background.html"

"scripts": ["background.js"]

// 可选

"service_worker":

},

"chrome_settings_overrides": {...},

"chrome_ui_overrides": {

"bookmarks_ui": {

"remove_bookmark_shortcut": true,

"remove_button": true

}

},

// 覆盖浏览器默认页面

"chrome_url_overrides": {

// 覆盖浏览器默认的新标签页

"newtab": "newtab.html"

},

"commands": {...},

"content_capabilities": ...,

//需要直接注入页面的JS

//这里写的的js和原始页面共享DOM但是不能共享js,如要访问页面JS(例如某个JS变量),只能通过`injected js`来实现。content-scripts不能访问绝大部分`chrome.xxx.api`,除了下面这4种:

//chrome.extension(getURL , inIncognitoContext , lastError , onRequest , sendRequest)

//chrome.i18n

//chrome.runtime(connect , getManifest , getURL , id , onConnect , onMessage , sendMessage)

//chrome.storage

//非要调用其它API的话,你还可以通过通信来实现让background来帮你调用

"content_scripts": [

{

// "" 表示匹配所有地址

"matches": ["","http://*/*", "https://*/*"],

// 多个JS按顺序注入

"js": ["js/jquery-1.8.3.js", "js/content-script.js"],

// JS的注入可以随便一点,但是CSS的注意就要千万小心了,因为一不小心就可能影响全局样式

"css": ["css/custom.css"],

// 代码注入的时间,可选值: "document_start", "document_end", or "document_idle",最后一个表示页面空闲时,默认document_idle

"run_at": "document_start"

},

{

"matches": ["*://*/*.png", "*://*/*.jpg", "*://*/*.gif", "*://*/*.bmp"],

"js": ["js/show-image-content-size.js"]

}

],

"content_security_policy": "policyString",

"converted_from_user_script": ...,

"current_locale": ...,

"declarative_net_request": ...,

//devtools页面入口,注意只能指向一个HTML文件,不能是JS文件

"devtools_page": "devtools.html",

"event_rules": [{...}],

"externally_connectable": {

"matches": ["*://*.example.com/*"]

},

"file_browser_handlers": [...],

"file_system_provider_capabilities": {

"configurable": true,

"multiple_mounts": true,

"source": "network"

},

// 插件主页,这个很重要,不要浪费了这个免费广告位

"homepage_url": "http://path/to/homepage",

"import": [{"id": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}],

"incognito": "spanning, split, or not_allowed",

"input_components": ...,

"key": "publicKey",

"minimum_chrome_version": "versionString",

"nacl_modules": [...],

"oauth2": ...,

"offline_enabled": true,

//向地址栏注册一个关键字以提供搜索建议,只能设置一个关键字

"omnibox": {

"keyword": "aString"

},

"optional_permissions": ["tabs"],

//Chrome40以前的插件配置页写法,顺便一提49版本是最后一个支持xp的版本

"options_page": "options.html",

//Chrome40以后的插件配置页写法,如果2个都写,新版Chrome只认后面这一个

"options_ui": {

"chrome_style": true,

// 添加一些默认的样式,推荐使用

"page": "options.html"

},

"permissions": [

"contextMenus", // 右键菜单

"tabs", // 标签

"notifications", // 通知

"webRequest", // web请求

"webRequestBlocking",

"storage", // 插件本地存储

"http://*/*", // 可以通过executeScript或者insertCSS访问的网站

"https://*/*" // 可以通过executeScript或者insertCSS访问的网站

],

"platforms": ...,

"replacement_web_app": ...,

"requirements": {...},

"sandbox": [...],

"short_name": "Short Name",

"signature": ...,

"spellcheck": ...,

"storage": {

"managed_schema": "schema.json"

},

"system_indicator": ...,

"tts_engine": {...},

"update_url": "http://path/to/updateInfo.xml",

"version_name": "aString",

// 普通页面能够直接访问的插件资源列表,如果不设置是无法直接访问的

"web_accessible_resources": ["js/inject.js"]

}

~~~

 类似资料: