手机版

用JavaScript编写Chrome扩展 实现与浏览器的交互和时间通知

时间:2021-10-30 来源:互联网 编辑:宝哥软件园 浏览:

与浏览器1的交互。书签使用chrome.bookmarks模块创建、组织和管理书签。您还可以查看覆盖页面来创建可自定义的书签管理器页面。

1.1.manifest.json中的配置

{'name' :' myextension ',权限' : ['书签'],}对象和属性:标签以树形结构组织,每个节点是一个书签或一组节点(每个书签文件夹可以包含多个节点)。每个节点对应一个BookmarkTreeNode对象。

您可以通过chrome . BookmarkTreeNode API使用BookmarkTreeNode的属性。

示例:创建了一个名为“扩展书签”的书签文件夹。

chrome . bookmarks . create({ ' parentId ' : bookmarkbar . id,' title ' : ' Extension bookmarks ' }),function(new folder){ console . log(' add folder : ' new folder . title);});创建指向扩展开发文档的书签。

chrome . bookmarks . create({ ' parentId ' : Extensions folderid,' title': 'Extensions doc ',' URL ' : ' http://code . Google.com/chrome/Extensions ' });2.配置了Cookies2.1和manifest.json。

{ '姓名' : '我分机',权限' : ['cookies ',' * :/* . Google.com '],} 3.开发人员工具下面的应用编程接口模块提供了一些开发人员工具的接口,以支持您扩展开发人员工具。

(1)devtools . inspected window(2)devtools.net工作(3) devtools.panels 3.1和manifest.json

{'name' :版本' :' 1.0 ',' minimum _ chrome _ version ' : ' 10.0 ',' devtools _ page ' : ' devtools . html ',} 4.EventsEvent是一个对象,当你关注它的时候。下面是一个使用chrome . tab . oncreated事件的例子。每当创建新标签时,都会通知事件对象:

chrome . tab . oncreated . addlistener(function(tab){ appendory(' tab . oncreated-' ' window : ' tab . window id ' tab : ' tab . id ' index : ' tab . index ' URL : ' tab . URL);});您可以调用任何事件对象的以下方法:

Void addlistener(函数回调(.))Void remove listener(函数回调(.))Bool有监听器(函数回调(.)) 5.Browse history chorme.history模块用于与浏览器访问的页面记录进行交互。您可以添加、删除和查询浏览器历史记录。

5.1.manifest.json中的配置

{ '姓名' : '我分机',权限' : ['历史记录'],} 6.插件管理chrome.management模块提供了管理已安装和正在运行的扩展或应用程序的方法。这对于重写内置新选项卡的扩展特别有用。

要使用此应用编程接口,您必须在扩展清单文件中授权。

6.1.manifest.json中的配置

{ '姓名' : '我分机',权限' : ['管理'],} 7.Tags chrome标签模块用于与浏览器的标签系统进行交互。该模块用于在浏览器中创建、修改和重新排列标签。

7.1.manifest.json中的配置

{ '姓名' : '我分机',权限' : ['选项卡'],} 8.Windows使用chrome.windows模块与浏览器窗口交互。您可以使用此模块在浏览器中创建、修改和重新排列窗口。

8.1.manifest.json中的配置

{ '姓名' : '我分机',权限' : ['选项卡'],}实施时间通知1。创建通知的两种方法:

//注意:没有必要调用webkitnotifications。CheckPermission()。//声明了通知权限的扩展程序总是允许创建通知。//创建一个简单的文本通知:var notification=webkitnotifications。创建通知(' 48。png ',//图标网址,可以是相对路径'您好!', //通知标题'内容(Lorem ipsum.)' //通知正文文本);//或者创建超文本标记语言通知:var notification=webkitnotifications。createhtml通知('通知。HTML '/HTML)的网址,可以是相对路径);//然后显示通知通知。show();2、通知与其他页面的通信方式:

//在一个通知中.铬合金。分机。getbackgroundpage().doThing();//来自后台网页.铬合金。分机。GetView({键入: ' notification ' }).forEach(函数(win){ win。doother thing();});3、时间通知的实例下面就创建一个时间通知,每个10秒钟弹出一次时间提醒,一共弹出10次。

2016516161415314.png  (31587)

3.1、manifest.json

{ //这个字段将用在安装对话框,扩展管理界面,和商店里面,弹出通知的标题姓名' : '系统通知', //扩展的版本用一个到四个数字来表示,中间用点隔开,必须在0到65535之间,非零数字不能0开头版本' : '1 ',//描述扩种的一段字符串(不能是超文本标记语言或者其他格式,不能超过132个字符)。这个描述必须对浏览器扩展的管理界面和铬网络商店都合适"描述":"显示桌面通知,这是桌面上弹出的'祝酒'窗口。", //一个或者多个图标来表示扩展,app,和皮肤图标: { '16': '16.png ',//应用的大调音阶第四音网页图标48': '48.png ',//应用管理页面需要这个图标128': '128.png' //在网上商店安装的时候使用}, //扩展或应用将使用的一组权限权限' : ['标签','通知'],//清单V2用背景属性取代了背景_页面/这里指定了一个爪哇岛描述语言脚本后台' : { '脚本: ['background.js'] },//清单版本一在Chrome18中已经被弃用了,这里应该指定为2 'manifest_version': 2,//manifest_version 2中,指定扩展程序包内可以在网页中使用的资源路径(相对于扩展程序包的根目录)需要使用该属性把资源列入白名单,插入的内容脚本本身不需要加入白名单web _ accessible _ resources ' :[' 48。png ']} 3.2、background.js

/** * 显示一个时间通知*/函数show() { var time=new Date().格式(' yyyy-MM-DD hh :MM :s ');//创建一个通知var通知=窗口。webkitnotifications。创建通知(' 48。png ',//图片,在网络可访问资源中添加了'现在的时间是:',//标题时间//正文。);//显示通知通知。show();}//格式化时间函数约会。原型。format=函数(format){ var o={ ' M ' : this。getmonth()1,//month 'd ' : this.getDate(),//day 'h ' : this.getHours(),//hour 'm ' : this.getMinutes(),//minute ' S ' : this。getseconds(),//second ' q ' :数学。(这个。getmonth(3)/3),//quarty ' S ' 3333336 test(format))format=format。替换(RegExp .$1,(this.getFullYear()' ').substr(4 - RegExp .$ 1 .长度));for(var k in o)if(new RegExp('(' k ')').测试(格式))格式=格式。替换(RegExp .一美元,RegExp .$1.length==1?o[k] : ('00' o[k]).substr((' o[k]).长度));返回格式;}//测试浏览器是否支持webkitNotificationsif(窗口。webkitnotifications){//显示通知show();定义变量区间=0;//弹出10次变化次数=10;//创建定时器var timer=setInterval(function(){ interval;//10秒钟弹出一次if (10=间隔){ show();区间=0;时代-;if(时间- 0) clearInterval(定时器);} }, 1000);}源代码

https://github。com/arts inking/Google-plugins/tree/master/示例/通知

版权声明:用JavaScript编写Chrome扩展 实现与浏览器的交互和时间通知是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。