0

我正在制作一个 Google Chrome 扩展程序,它具有快速使文本反转、上下颠倒、彩虹等的工具,并使浏览器操作与这些工具完美运行,但我还想要一个上下文菜单,允许用户使用其中一个工具文本框/区域选择。由于学校放假,我有很多空闲时间,但我就是想不出该怎么做,而且我在 Google 或 Stack Overflow 上找不到答案。我想出了如何创建上下文菜单,我只需要知道如何从后台脚本中修改选定的文本。

TL;DR:如何使用上下文菜单修改文本框/区域中的选定文本?

(我也在使用 jQuery。)

4

1 回答 1

0

我猜你需要使用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');"});
        });
    });
});
于 2013-09-24T07:35:08.543 回答