Chrome扩展程序上下文菜单 - 修改文本框选择

时间:2013-09-24 04:48:23

标签: javascript google-chrome-extension contextmenu

我正在制作一个谷歌浏览器扩展程序,其中包含快速制作文本,颠倒,彩虹等文本的工具,并且这些工具可以完美地运行浏览器操作但我还需要一个上下文菜单,允许用户使用其中一个文本框/区域选择上的那些工具。由于学校假期,我有很多业余时间,但我想不出怎么做,我在Google或Stack Overflow上找不到答案。我想出了如何创建上下文菜单,我只需要知道如何从后台脚本修改所选文本。

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

(我也在使用jQuery。)

1 个答案:

答案 0 :(得分:0)

我猜您需要使用jQuery caret plugin

代码可能如下所示(未经测试)

replaceselector.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);
}

content scripts注入目标选项卡,然后从后台页面调用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');"});
        });
    });
});