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

Chrome extension context menu - modify text box selection

本文关键字:修改 文本 选择 菜单 扩展 程序 程序上 上下文 Chrome      更新时间:2023-09-26

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

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

(我也在使用jQuery。

我想你需要使用jQuery插入符号插件。

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

替换选择器.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');"});
        });
    });
});