我为Microsoft Edge创建了一个小型扩展。它在某些元素上提供了右键单击上下文菜单项。但是,我注意到,如果我在地址栏中没有浏览器操作图标,则扩展图标不会显示在上下文菜单中。 (“显示在地址栏旁边”选项)甚至没有显示默认图标,只是完全空白。
我的manifest.json:
{
"name": "",
"author": "",
"version": "1.0",
"description": "",
"browser_action": {
"default_icon": {
"20": "images/icon.svg",
"40": "images/icon.svg"
},
"default_title": "",
"default_popup": "popup.html"
},
"icons": {
"16": "images/icon.svg",
"32": "images/icon.svg",
"64": "images/icon.svg",
"128": "images/icon.svg"
},
"permissions": [
"contextMenus",
"storage"
],
"background": {
"scripts": ["js/background.js"],
"persistent": true
}
}
background.js中的相关代码:
browser.contextMenus.create({
id: "",
title: "Image",
contexts: ["image"]
});
Windows版本:1809,内部版本:17763.1 边缘版本:44.17763.1.0
答案 0 :(得分:0)
尝试在 manifest.json 和每个 browserAction.setIcon 调用中都设置明确的大小可能会帮助您解决问题。
示例:
Manifest.json
{
"manifest_version": 2,
"name": "test",
"version": "0.0.1",
"author": "demo_user",
"background": {
"scripts": ["background.js"],
"persistent": false
},
"browser_action": {
"default_icon": {
"19": "icon.png",
"38": "icon2.png"
}
}
}
在JS文件中
browser.browserAction.setIcon({
path: {
"19": "testimage.png",
"38": "testimage.png"
});
参考:
Edge: browserAction.setIcon not working when using a default icon with multiple sizes
您可以尝试进行测试,并告诉我们您的测试结果。
答案 1 :(得分:0)
如果您让我们知道您的Win10和Edge版本,将会很有帮助。
但是,在Win10版本( 17763.1 )上不存在此问题。
这是我的manifest.json:
{
"name": "test",
"author": "",
"version": "1.0",
"description": "",
"icons": {
"16": "icons/icon.png",
"32": "icons/icon.png",
"64": "icons/icon.png",
"128": "icons/icon.png"
},
"permissions": [
"contextMenus",
"storage"
],
"background": {
"scripts": ["background.js"],
"persistent": true
}
}
背景脚本:
browser.contextMenus.create({
id: "log-selection",
title: "Sample",
contexts: ["selection"]
}, onCreated);
function onCreated() {
console.log("Context Menu item was created");
}
让我们也知道您通过后台脚本创建的上下文菜单项的代码。