《Chrome浏览器插件开发》manifest.json文件
发布日期:2021-10-23 14:13:03 浏览次数:6 分类:技术文章

本文共 3290 字,大约阅读时间需要 10 分钟。

插件的manifest.json文件:

{
   
    
"manifest_version"
: 2,
   
    
"name"
:
"保存网页为PDF"
,
   
    
"version"
:
"1.1.7.80"
,
   
    
"description"
:
"保存网页为PDF【作者:涂剑凯,邮箱:bdstjk@qq.com】"
,
 
    
"icons"
:{
"16"
:
"Images/16.png"
,
"48"
:
"Images/48.png"
,
"128"
:
"Images/128.png"
},
 
    
"background"
: {
        
"page"
:
"background.html"
    
},
 
    
"options_page"
:
"options.html"
,
   
    
"browser_action"
:
    
{
     
        
"default_icon"
:
"Images/16.png"
,
     
        
"name"
:
"保存网页为PDF"
   
    
},
   
    
"permissions"
: [
        
"tabs"
,
        
"http://localhost:9240/"
,
        
"activeTab"
,
        
"notifications"
,
"storage"
,
"http://*/"
    
],
 
    
"update_url"
:
"http://localhost:9240/SaveService/GetUpdateXML"
}

 

必须属性:name、version、manifest_version

1、name 顾名思义就是你的插件的名称;

2、version 指你的插件的版本号;

3、manifest_version 指定清单文件格式的版本,在Chrome18之后,应该都是2,所以这个值直接设定为2就OK了;

推荐属性:description、icons、default_locale 

1、description 插件描述,简单介绍插件用途;

2、icons 插件图标,需准备16*16(扩展信息栏)、48*48(扩展管理页面)、128*128(用在安装过程中)的三个图标文件,建议为PNG格式,因为PNG对透明的支持最好;

3、default_locale 国际化支持,支持何种语言的浏览器,虽然官方推荐,不过我没用;

background

这是一个比较重要的属性,如果你需要运行一些后台脚本,比如监听用户在扩展信息栏按下你的插件图标,或者你要监听用户新建tab页,这个时候你就需要有一个background的页面。background你可以指定一个HTML页面(如我的插件),也可以指定一个JS文件,如:

{  "name": "My extension",  ...  "background": {    "scripts": ["background.js"]  },  ...}
{  "name": "My extension",  ...  "background": {    "scripts": ["background.js"]  },  ...}

需要注意两点:

1、是HTML不能写JS代码,JS代码需要写到JS文件中后引入;

2、不能使用jquery(没有详细测试,可能是我没用正确);

监听用户在扩展信息栏按下你的插件图标时,显示当前活动页的URL:

chrome.browserAction.onClicked.addListener(function (tab) {alert(tab.url);});
chrome.browserAction.onClicked.addListener(function (tab) {alert(tab.url);});

参见:

options_page

options_page指定你的插件设置页面,这个看个人需求而定,可以不设置。

需要注意两点:

1、你需要将JS写到一个JS文件中后引入;

2、不能有HTML元素的内联事件(如<button onclick="...">),你需要通过JS给HTML元素绑定事件如:

$(document).ready(function () {    $("#btnOpenSetting").click(function () {        OpenSetting();    });});
$(document).ready(function () {    $("#btnOpenSetting").click(function () {        OpenSetting();    });});

browser_action

browser_action可以设置扩展信息栏的图标、图标悬浮提示、点击图标是弹出窗口(我的插件不需要弹出窗口所以未设置);

给大家看一个完整例子:

{  "name": "My extension",  ...  "browser_action": {    "default_icon": {                    // optional      "19": "images/icon19.png",           // optional      "38": "images/icon38.png"            // optional    },    "default_title": "Google Mail",      // optional; shown in tooltip    "default_popup": "popup.html"        // optional  },  ...}
{  "name": "My extension",  ...  "browser_action": {    "default_icon": {                    // optional      "19": "images/icon19.png",           // optional      "38": "images/icon38.png"            // optional    },    "default_title": "Google Mail",      // optional; shown in tooltip    "default_popup": "popup.html"        // optional  },  ...}

permissions

permissions对于manifest.json来说虽然不是必要属性,但是对于我们开发插件来说却是必要的manifest.json,我们总要向chrome申请点权限,才能完成我们的插件;

这里我就只介绍我的插件里面用到的权限(当然其实有点权限我最后也没用):

"tabs", 访问浏览器选项卡

"http://localhost:9240/", AJAX访问localhost:9240的权限
"activeTab", 获取当前活动选项卡
"notifications", 浏览器通知(基于HTML5的通知实现)
"storage", 存储,希望存储一些设置的话,就需要用到
"http://*/" 访问任意域名的权限

update_url

update_url指定自动更新地址,如果你是通过chrome官方发布插件,这个属性不需要设置;但如果跟我一样通过非官方发布,这个属性就很巴适了;你只需要第一次拖拽安装插件,以后都能自动更新了。这里给一个update_url需要返回的数据格式例子:

manifest.json就介绍到这里。

 

转载于:https://www.cnblogs.com/xbdeng/p/6081612.html

转载地址:https://blog.csdn.net/weixin_30588827/article/details/98899158 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:洛谷 P3654 First Step (ファーストステップ)
下一篇:filter sorted map 的用法

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2024年04月13日 05时02分10秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章