我正在制作一个 Google Chrome 扩展程序,它具有快速使文本反转、上下颠倒、彩虹等的工具,并使浏览器操作与这些工具完美运行,但我还想要一个上下文菜单,允许用户使用其中一个工具文本框/区域选择。由于学校放假,我有很多空闲时间,但我就是想不出该怎么做,而且我在 Google 或 Stack Overflow 上找不到答案。我想出了如何创建上下文菜单,我只需要知道如何从后台脚本中修改选定的文本。
TL;DR:如何使用上下文菜单修改文本框/区域中的选定文本?
(我也在使用 jQuery。)
我正在制作一个 Google Chrome 扩展程序,它具有快速使文本反转、上下颠倒、彩虹等的工具,并使浏览器操作与这些工具完美运行,但我还想要一个上下文菜单,允许用户使用其中一个工具文本框/区域选择。由于学校放假,我有很多空闲时间,但我就是想不出该怎么做,而且我在 Google 或 Stack Overflow 上找不到答案。我想出了如何创建上下文菜单,我只需要知道如何从后台脚本中修改选定的文本。
TL;DR:如何使用上下文菜单修改文本框/区域中的选定文本?
(我也在使用 jQuery。)
我猜你需要使用jQuery caret plugin。
代码可能如下所示(未经测试)
替换选择器.js:
function replaceSelection(selector, replaceText) {
var input = $(selector);
var text = input.text();
input.text(text.substr(0, input.caret().start) + replaceText + text.substr(input.caret().end);
}
将内容脚本注入目标选项卡,然后从后台页面调用 execScript
chrome.tabs.executeScript(tabid, {file: "jquery.min.js"} function() {
chrome.tabs.executeScript(tabid, {file: "jquery.caret.1.02.min.js"} function() {
chrome.tabs.executeScript(tabid, {file: "replaceSelector.js"} function() {
chrome.tabs.executeScript(tabid, {code: "replaceSelection('#myInputBox', 'Replace String');"});
});
});
});