如何在Microsoft Edge浏览器中添加一个Hello World插件

注:本文提到的代码示例下载地址> How to add a Hello World extension to Microsoft Edge

Microsoft Edge 随着Win 10一起推出,是微软现在主推的浏览器。Edge 相比较于IE, 有更强的交互性,安全性,提供了更好的用户体验。而且这次Edge浏览器也开始支持浏览器插件喽。

Edge 上的插件跟其他Chrome, FireFox等浏览器上的插件类似。但其API还在开发当中,截止到目前,已经可以支持大部分的API了。如果想要看具体的API支持情况,请戳这边->supported APIs,你也可以看下API的开发进度->extension API roadmap

接下来我就给大家介绍以下,如何创建一个简单的插件,并添加到Edge浏览器上。当然大前提是,你的PC已经安装了Win 10,而且你可以正常使用Edge浏览器。

OK. 一切就绪。

首先我们来创建一个文件夹,命名为JSHelloWorldEdgeEx。在这个文件夹里,我们再建一个manifest.json 文件。把下面的代码贴进去。

{
  "author": "Microsoft OCOS Team",
  "description": "Get information of the active tab.",
  "icons":
    {
      "48": "icons/microsoft.png",
      "96": "icons/microsoft-96.png"
    },
  "manifest_version": 2,
  "name": "HelloWorld",
  "version": "1.0",
  "permissions": [
    "tabs"
  ],
  "browser_action": {
    "default_icon": {
      "30": "icons/microsoft-30.png"
    },
    "default_title": "HelloWorld",
    "default_popup": "GetTabInfo.html"
  }
}

这里除了author, name, version这三个必填项之外,我们来看下其他的几个配置.

1. icons: 我们设置了两个不同大小的图片,例如:48,指的是图片的长宽都是48px.

2. permissions: 设置我们需要取得的权限,如果要了解更多的权限,戳这边-> permissions

3. browser_action: 这部分跟chrome插件有点区别,Edge 插件不支持default_icon直接设值,如browser_action : {"default_icon" : "icon.png" },而是要指定icon大小。最好是20px,25px,30px或者40px,除了这几个,还支持19px,35px,38px的。我们这边是提供了30px的。

对于这些图标,我们来新建一个文件夹,取名为“icons”,里面放以下图片文件:

              

microsoft-30.png microsoft.png   microsoft-96.png

我们可以看到default_popup设的值是“GetTabInfo.html”, 那我们接下来就来建个文件命名为“GetTabInfo.html”,贴入以下代码:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
      <link rel="stylesheet" href="GetTabInfo.css" />
  </head>

  <body>
    <div class="tabInfo">Get Tab Info</div>
    <div id="info" style="display:none"></div>
    <script src="GetTabInfo.js" ></script>
  </body>
</html>

html内容很简单,只有两个div,js脚本放在“GetTabInfo.js”里面。再建一个脚本文件“GetTabInfo.js”, 贴入如下代码:

document.addEventListener("click", function(e) {
    if (!e.target.classList.contains("tabInfo")) {
        return;
    }

    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";
    });
});

这段代码里面,我们给“<div class="tabInfo">Get Tab Info</div>”这个div加入了click事件,这个事件里面我们调用了两个API, tabs.query和tabs.get(这边就用到了之前我们配置的permission:tabs),拿到了当前窗口的Tab信息,取出url,title,添加到页面上。要了解更多Tab的属性,可以看这里->Tab

css文件“GetTabInfo.css” 代码如下:

html {
  width: 350px;
}

.tabInfo {
  margin: 3% auto;
  padding: 4px;
  text-align: left;
  font-size: 1.5em;
  background-color: #E5F2F2;
  cursor: pointer;
}

.tabInfo:hover {
  background-color: #CFF2F2;
}
#info{
    border:2px solid black;
}

文件全部准备完毕,接下来就讲讲怎么把我们建好的插件添加到Edge上去(楼主的是英文版的)

1. 打开Microsoft Edge,地址栏输入“about:flags”,在Developer settings下面将“Enable extension developer features (this might put your device at risk)”选项勾上

2. 点击工具栏上的“...”按钮,选择Extensions, 点击Load extension,选择刚刚我们创建的文件夹JSHelloWorldEdgeEx,加载好之后,点击HelloWorld, 开启“Show button next to the address bar”选项。然后你可以在右上角看到我们的图标。

3. 我们在地址栏输入microsoft.com, 点击插件图标

4. 点击Get Tab Info,我们就能在它下面看到tab的url和title信息

OK, 演示结束~

一个简单的插件就这样完成啦~

当然,有的同学想要把自己的Chrome插件转成Edge插件,微软也有提供工具去转,具体可以参考这里Porting an extension from Chrome to Microsoft Edge

还有如何去debug自己的插件,请参考这边Debugging extensions

时间: 2024-10-19 08:41:25

如何在Microsoft Edge浏览器中添加一个Hello World插件的相关文章

如何在Solid Edge SP中获得一个装配的所有图纸

在设计工作完成后,经常需要把整个装配下面的所有图纸挑选出来,进行批量打印.在大多数PDM系统中,这项工作需要进行二次开发完成.不过在Solid Edge SP(以下简称SESP)中,这件事很容易做到.方法如下: 1.进入SESP PDM 界面,选中需要打印图纸的装配的版本.例如我们要打印"PRT-00086/C-立柱装配"的所有图纸,就选中这个版本. 2.在工具条上点击"创建包"按钮. 3.在创建包的输出类型中,请选择"ZIP",不要选择&quo

CAD技巧,如何在CAD中添加一个多行文本?

CAD技巧,如何在CAD中添加一个多行文本?在编辑CAD图纸的过程能够为了更加方便快捷建筑设计师们都会借助CAD编辑器来绘制图形,但是一张CAD图纸中的内容太多,在有的地方需要给CAD图纸进行一些标注,以便更好的查看,但是如何在CAD中添加一个多行文本?小伙伴们知道要怎么来操作吗?下面小编就利用迅捷CAD编辑器标准版来教教大家如何在CAD中添加一个多行文本?想要了解的朋友就一起来看看吧! 使用第一步:在电脑桌面中没有下载安装迅捷CAD编辑器的小伙伴们,在电脑中任意的打开一个浏览器,在浏览器的搜索

如何在RCP程序中添加一个banner栏

前言:这段时间还算比较空闲,我准备把过去做过的有些形形色色,甚至有些奇怪的研究总结一下,也许刚好有人用的着也不一定,不枉为之抓耳挠腮的时光和浪费的电力.以前有个客户提出要在RCP程序中添加一个banner栏,研究了很久才搞定.代码是基于eclipse4.3.2的. 先看一下效果预览: 为了添加一个banner栏,我们必须重写RCP程序最外层的layout类,即TrimmedPartLayout.java.这个layout类是用来控制menu,toolbar等最基本的layout布局的.我们写一个

如何在ASP.NET Core中实现一个基础的身份认证

注:本文提到的代码示例下载地址> How to achieve a basic authorization in ASP.NET Core 如何在ASP.NET Core中实现一个基础的身份认证 ASP.NET终于可以跨平台了,但是不是我们常用的ASP.NET, 而是叫一个ASP.NET Core的新平台,他可以跨Windows, Linux, OS X等平台来部署你的web应用程序,你可以理解为,这个框架就是ASP.NET的下一个版本,相对于传统ASP.NET程序,它还是有一些不同的地方的,比

Microsoft Edge浏览器v77.0.186.0最新版

Microsoft Edge浏览器是微软最新发布的一款不同于传统IE的浏览器,Microsoft Edge浏览器功能很全面,不仅内置微软Contana,可以为用户带来更多人性化的服务,而且Microsoft Edge浏览器还有着支持插件扩展.网页阅读注释等特色功能,为用户带来高效便捷的网页浏览体验. Microsoft Edge Dev for Mac版软件介绍 基于 Chrome 内核的 Microsoft Edge 浏览器即将登陆 Mac.Windows 平台,小编也在第一时间在网上找到已经

如何在ppt或word中添加高亮代码?

如何在ppt或word中添加高亮代码? 问题: 如何ppt中添加带有语法高亮的程序代码,就如同下面的形式(在ppt嵌入高亮代码,且可以编辑,带有行号) 详细的要求如下: 1.代码带有语法高亮. 2.结果是矢量图,也就是说可以随便缩小放大的,因此别拿直接对代码截图来忽悠我. 3.最好带有行号. 方法一: 下载软件SciTE,下载地址:http://www.fauskes.net/nb/syntaxms/ 这个软件是我从网上搜到的,外国人写的.效果如下: 不过要把带有语法高亮的格式拷贝到ppt里有点

Android系统中添加一个产品----图文详解

本文本着开源的精神介绍如何向一个Android系统中添加一个产品的整个过程,按照以下过程笔者有理由相信每个将要从事本行业的人都可以完成,其实添加一个产品并不难,难的是对其相关硬件的修改,好了废话不多说. 首先我们要创建一个属于自己产品的目录,这里以WY_device为例,以WY作为产品的名字. 首先从已经存在的产品中拷贝一个以产品的名字为名的.mk文件,修改为自己的.mk文件,在这里为WY.mk 对其进行如下的修改: 然后添加AndroidProducts.mk  这是添加产品的配置文件名路径,

解释一下,在你往浏览器中输入一个URL后都发生了什么,要尽可能详细(转)

原文链接:解释一下,在你往浏览器中输入一个URL后都发生了什么,要尽可能详细 题目 一步一步解释一下,在你往浏览器中输入一个URL后都发生了什么,要尽可能详细. 解答 这道题目没有所谓的完全的正确答案,这个题目可以让你在任意的一个点深入下去, 只要你对这个点是熟悉的.以下是一个大概流程: 浏览器向DNS服务器查找输入URL对应的IP地址. DNS服务器返回网站的IP地址. 浏览器根据IP地址与目标web服务器在80端口上建立TCP连接 浏览器获取请求页面的html代码. 浏览器在显示窗口内渲染H

edge 浏览器中数字显示为链接

在win10 中的Edge浏览器中部分格式的数字显示链接.经过各种搜索找到一篇文章 How to remove phone number link on Iphone? ,通过这篇文章了解 edge 浏览器会自动检测符合规则的数字组合为电话号码,并加上链接的样式. 去掉这个默认的功能,在head 中加入 <meta name="format-detection" content="telephone=no"> MSDN中有一篇文章中专门对此作了介绍.Ph