当浏览器操作在地址栏中不可见时,Microsoft Edge 扩展不在上下文菜单中显示图标
Microsoft Edge Extension not showing icon in context menu when browser action not visible in address bar
我为 Microsoft Edge 创建了一个小扩展。它在某些元素上提供右键单击上下文菜单项。但是,我注意到如果地址栏中没有浏览器操作图标,则扩展图标不会显示在上下文菜单中。 ("show next to address bar" 选项)甚至没有显示默认图标,它只是完全空白。
我的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
尝试在 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"
});
参考:
您可以尝试在您这边做一个测试,然后告诉我们您的测试结果。
如果您让我们知道您的 Win10 和 Edge 版本,将会很有帮助。
但是,这个问题在 Win10 build (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");
}
让我们也知道您从后台脚本创建上下文菜单项的代码。
我为 Microsoft Edge 创建了一个小扩展。它在某些元素上提供右键单击上下文菜单项。但是,我注意到如果地址栏中没有浏览器操作图标,则扩展图标不会显示在上下文菜单中。 ("show next to address bar" 选项)甚至没有显示默认图标,它只是完全空白。
我的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
尝试在 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"
});
参考:
您可以尝试在您这边做一个测试,然后告诉我们您的测试结果。
如果您让我们知道您的 Win10 和 Edge 版本,将会很有帮助。
但是,这个问题在 Win10 build (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");
}
让我们也知道您从后台脚本创建上下文菜单项的代码。