win10 Edge浏览器插件开发

win10最好用的浏览器-Edge  支持插件了 

是一个商机哦,可以把开发的插件发到应用商店,还能设置收费下载呢

Edge浏览器扩展API还在开发当中,目前已经支持了大部分的API 。查看具体的API支持情况,请参考supported APIs,查看API的开发进度-请参考extension API roadmap 。下面讲解下如何创建一个简单的插件并添加到Edge浏览器上。 首先创建一个文件夹,命名为edgeExt。在这个文件夹里,新建一个manifest.json 文件,写入如下代码: {   "author": "muyuren",   "description": "Get information of the active tab.",   "icons":     {       "48": "icons/microsoft.png",       "96": "icons/microsoft-96.png"     },   "manifest_version": 2,   "name": "edgeExt",   "version": "1.0",   "permissions": [     "tabs"   ],   "browser_action": {     "default_icon": {       "30": "icons/microsoft-30.png"     },     "default_title": "edgeExt",     "default_popup": "GetTabInfo.html"   } } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 { "author": "muyuren", "description": "Get information of the active tab.", "icons": { "48": "icons/microsoft.png", "96": "icons/microsoft-96.png" }, "manifest_version": 2, "name": "edgeExt", "version": "1.0", "permissions": [ "tabs" ], "browser_action": { "default_icon": { "30": "icons/microsoft-30.png" }, "default_title": "edgeExt", "default_popup": "GetTabInfo.html" } } icons: 设置了两个不同大小的图片,例如:48,指的是图片的长宽都是48px. permissions: 设置需要取得的权限,了解更多的权限请参考 permissions browser_action: 这部分跟chrome插件有点区别,Edge 插件不支持default_icon直接设值,如browser_action : {"default_icon" : "icon.png" },而是要指定icon大小。最好是20px,25px,30px或者40px,除了这几个,还支持19px,35px,38px的 新建一个名为icons的文件夹来放放以下图片文件上面文件指定的图标(请自行准备相应的图标) default_popup设的值为“GetTabInfo.html”, 接下来就创建文件GetTabInfo.html,写入以下代码: <!DOCTYPE html><html>   <head>     <meta charset="utf-8">       <link rel="stylesheet" href="GetTabInfo.css" />   </head>   <body>     <div id="info" style="display:none"></div>     <script src="GetTabInfo.js" ></script>   </body></html> 1 2 3 4 5 6 7 8 9 10 <!DOCTYPE html><html> <head> <meta charset="utf-8"> <link rel="stylesheet" href="GetTabInfo.css" /> </head> <body> <div id="info" style="display:none"></div> <script src="GetTabInfo.js" ></script> </body></html> 创建文件GetTabInfo.js, 写入如下代码: window.onload = function () {     var root = document.getElementById("info");     root.innerHTML = "";     browser.tabs.query({ active: true, currentWindow: true }, function (tabs) {         browser.tabs.get(tabs[0].id, function (tab) {             var node = document.createElement("div");             var textnode = document.createTextNode("Url: " + tab.url);             node.appendChild(textnode);             root.appendChild(node);             var node2 = document.createElement("div");             var textnode2 = document.createTextNode("Title: " + tab.title);             node2.appendChild(textnode2);             root.appendChild(node2);         });         root.style.display = "block";     }); }; 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 window.onload = function () { var root = document.getElementById("info"); root.innerHTML = ""; browser.tabs.query({ active: true, currentWindow: true }, function (tabs) { browser.tabs.get(tabs[0].id, function (tab) { var node = document.createElement("div"); var textnode = document.createTextNode("Url: " + tab.url); node.appendChild(textnode); root.appendChild(node); var node2 = document.createElement("div"); var textnode2 = document.createTextNode("Title: " + tab.title); node2.appendChild(textnode2); root.appendChild(node2); }); root.style.display = "block"; }); }; 这里调用了两个API, tabs.query和tabs.get,这里就用到了之前配置的permission:tabs,拿到了当前窗口的Tab信息,取出url,title,添加到页面上。了解更多Tab属性请参考Tab。 创建文件GetTabInfo.css,写入以下代码: html {     width: 350px; } 1 2 3 html { width: 350px; } 插件开发完毕,接下来就把刚开发好的插件添加到Edge浏览器。 打开Edge浏览器,地址栏输入about:flags,在 “开发者设置” 里将 “启用开发人员扩展功能(这可能让设备处于危险之中) ” 选项勾上,点击工具栏上的“...”按钮(即菜单键),选择 “扩展”, 点击 “加载扩展”,选择刚刚创建的文件夹edgeExt,加载好之后,点击edgeExt, 开启“在地址栏旁边显示按钮”选项。然后就可以在右上角看到插件图标了,然后打开http://www.sublimetext.com/,点击插件图标,就会弹出tab的url和title信息。 至此已经开发好了一个简单的插件,debug插件方法请参考这Debugging extensions

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏happyJared

IDEA快捷键拆解系列(十七):Debug篇

  在分析源码的时候,良好的Debug能力可以帮助我们快速的读懂别人的代码。IDEA为开发者们提供了全面的Debug支持,相信熟练掌握后可以大大的提高我们的De...

651
来自专栏Google Dart

AngularDart4.0 指南-体系结构概述 顶

AngularDart(我们通常在这个文档中简单地称为Angular)是一个框架,用于在HTML和Dart中构建客户端应用程序。它是作为Angular包发布的,...

773
来自专栏前端小作坊

网页上的复制与剪切

IE 10及以上的版本修改了Document.execCommand()方法,增加了对剪切和复制的支持。Chrome从43版本开始也支持了这项特性。

1032
来自专栏编程之旅

PHP开发——yii2多图上传组件的使用

最近在使用yii2开发一个表单页面的时候,有多图上传的需求,稍微找了找这方面的组件,基本都安利fileInput这个组件,于是就尝试着使用这个库来完成后端表单页...

2221
来自专栏石奈子的Java之路

原 Intellij idea2017编辑

3046
来自专栏十月梦想

node项目中文乱码解决

上一篇的第一个node项目成功运行,但是设置res.write('你好,世界'),浏览器运行出现乱码

693
来自专栏河湾欢儿的专栏

Vue-router(路由)

2.定义(注册)路由跳转的组件----使用全局扩展的方式,用其他创建组件的方式也可以 在这里,进行了一个赋值操作,用一个变量名保存组件中所有的内容

1152
来自专栏从零开始学自动化测试

appium+python自动化42-微信公众号webview操作

上一篇已经解决切换到微信公众号的webview上了,但是定位webview上元素的时候一直提示找不到,打印page_source也找不到页面上的元素,这个问题困...

1551
来自专栏上善若水

PJS001 PhantomJ简易入门

PhantomJS是一个基于webkit的JavaScript API,使用QtWebKit作为它核心浏览器的功能,使用webkit来编译解释执行JavaScr...

712
来自专栏极客慕白的成长之路

前端知识点总结 : Vue

作用:将表达式执行的结果 输出当调用元素的innerHTML中;还可以将数据绑定到视图。

461

扫码关注云+社区