目前,首先要学习为Firefox制作Webextensions的一些基础知识。
当用户选择了一些文本时,我试图向上下文菜单添加一个简单的选项。没什么,将选择输出到控制台按预期工作。但是,不是上下文菜单本身中的文本。
在为background.js输入以下代码时:
browser.contextMenus.create({
id: "log-selection",
title: "Log '%s' to the console",
contexts: ["selection"]
});
browser.contextMenus.onClicked.addListener(function(info, tab) {
if (info.menuItemId == "log-selection") {
console.log(info.selectionText);
}
});
如https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/contextMenus/create中所述
它应该添加
"Log 'selected text bla' to the console"
作为上下文菜单(右键单击菜单)的选项。
但是,它显示为:
"Log 'selected text bla...' to the console"
(该MDN页面现已更新,以反映我的发现)
我已经尝试过通过从%s中减去3来截断,但是似乎字符串是在create函数的末尾求值的。例如。从%s截断3会给我
""
而不是期望的
selected text bla
如果需要的话,额外的信息-我的manifest.json:
{
"manifest_version": 2,
"name": "Selection Logger",
"version": "1.0",
"description": "Add selection to context menu to print with console",
"background": {
"scripts": [
"background.js"
]
},
"permissions": [
"contextMenus"
],
"applications": {
"gecko": {
"id": "[email protected]"
}
}
}
关于如何摆脱椭圆/ 3点的任何想法?我也尝试创建内联函数,但是它对我也不起作用。
title: function(){ return "test"; },
没用,我敢肯定违反了一些JS规则。
对此新手的帮助表示赞赏!
最佳答案
不幸的是,您必须等待相关的Firefox bug被修复。或者,如果目前从事此工作的人员不能很快解决,请自己修复。
关于javascript - 使用'%s'引用所选文本时,如何摆脱省略号?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45242706/