开发环境
开发Edge浏览器插件,首先是需要安装了Edge浏览器。
在Edge浏览器地址栏,输入edge://extensions
并回车打开插件管理页面。
按照图里的方法打开开发人员模式
的开关。
插件的开发过程,可以使用任意的文本编辑工具或者IDE,如WebStorm或者VSCode都行。
创建一个目录,并在其中新建如下几个文件
├── README.md
├── icon.png
├── manifest.json
├── popup.html
├── popup.js
开发过程
manifest.json
文件描述的是这个插件的基础信息,一个示例如下:
{
"manifest_version": 3,
"name": "这里起一个名字",
"version": "1.0",
"permissions": [
"activeTab",
"tabs",
"cookies",
"webRequest",
"webRequestBlocking",
"http://*/*",
"https://*/*"
],
"action": {
"default_icon": {
"16": "icon.png",
"48": "icon.png",
"128": "icon.png"
},
"default_popup": "popup.html"
},
"icons": {
"16": "icon.png",
"48": "icon.png",
"128": "icon.png"
},
"host_permissions": [
"*://*/*"
]
}
注意,你可能在网上找到的资料里,manifest_version字段的值是2,表示第2版的manifest文件格式,虽然在调试的时候也可以用,但是上架发布的时候会报错拒绝,因此一律采用第3版即可。 创建扩展教程,第 1 部分 - Microsoft Edge Development | Microsoft Learn
popup.html
和popup.js
表示的是,当用户在浏览器地址栏后边点击了我们插件的图标按钮时,应该呈现出来的效果和功能。
一个简单的例子如下:
popup.html
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<title>在这里弹出</title>
<style>
body {
width: 300px;
padding: 10px;
}
h1 {
font-size: 16px;
}
ul {
list-style-type: none;
padding: 0;
}
li {
margin-bottom: 5px;
}
strong {
display: inline-block;
width: 70px;
}
</style>
</head>
<body>
<h1>弹出一个Hello World</h1>
<script src="popup.js"></script>
</body>
</html>
如果希望在点击按钮的时候有一些其他处理动作,可以添加到 popup.js
文件中。
popup.js
document.addEventListener("DOMContentLoaded", function () {
chrome.tabs.query({ active: true, currentWindow: true }, function (tabs) {
var tab = tabs[0];
// 添加一些奇怪的逻辑在这里
});
});
打开浏览器的插件管理页面,从本地文件目录安装插件。
加载安装之后要启用这个插件
如果自己的js文件中有
console.log
这样的打印,可以在背景页
中查看。
打包发布上架
上架需要使用zip压缩包,我们直接把当前目录压缩成zip即可。
要想上架,需要首先注册成为微软合作伙伴,合作伙伴中心 (microsoft.com)
详细步骤参考发布 Microsoft Edge 扩展 - Microsoft Edge Development | Microsoft Learn
如果你在注册成为开发者的时候出现了Error code 2201. Correlation ID
这样的问题,那这是很正常的,微软这个页面有bug而且多年来一直页没有人修复。。。解决方法就是,在填写城市的那里,用英文大写缩写,它本来应该是个下拉列表来选择,但是他们的前端程序员写成了文本框输入,所以一直也无法正确填写,只有用英文大写缩写才能成功,比如北京就填BJ,上海就填SH就可以通过注册了。
注册成功后就按照页面提示,一点点填写信息,提交zip包即可。然后就是等待7个工作日还是14个工作日的审核。
上架成功后的截图: