Javascript 将修改后的文本选择写入剪贴板

Javascript 将修改后的文本选择写入剪贴板,javascript,bookmarklet,Javascript,Bookmarklet,我正在尝试用引号括起一个文本选择,并将其写入剪贴板,但很难让脚本复制它。网上有很多例子,但大多数都有五年或更长的历史,由于安全原因,在现代浏览器中似乎不起作用 我想知道是否仍然有可能做到这一点,但它不起作用,因为我试图在bookmarklet中使用它,或者出于安全原因,当前浏览器中是否禁用了此功能,以避免剪贴板中毒 目前,我正在抓取选定的文本,对其进行修改,并将其写入一个元素,但它从未复制到剪贴板,即使触发bookmarklet时会发生单击事件 示例代码: javascript: (functi

我正在尝试用引号括起一个文本选择,并将其写入剪贴板,但很难让脚本复制它。网上有很多例子,但大多数都有五年或更长的历史,由于安全原因,在现代浏览器中似乎不起作用

我想知道是否仍然有可能做到这一点,但它不起作用,因为我试图在bookmarklet中使用它,或者出于安全原因,当前浏览器中是否禁用了此功能,以避免剪贴板中毒

目前,我正在抓取选定的文本,对其进行修改,并将其写入一个元素,但它从未复制到剪贴板,即使触发bookmarklet时会发生单击事件

示例代码:

javascript: (function() {
  function getSelectionText() {
    var text = "";
    if (window.getSelection) {
      text = window.getSelection().toString();
    } else if (document.selection && document.selection.type != "Control") {
      text = document.selection.createRange().text;
    }
    return text;
  }

  function wrapText(t) {
    return '“' + t + '”';
  }

  function ModifiedTxt2Clipboard(t) {
    var node = document.createElement("tmptextarea");
    node.textContent = t;
    document.body.appendChild(node);
    document.getSelection().removeAllRanges();
    node.select;
    document.execCommand("copy");
    document.getSelection().removeAllRanges();
    document.body.removeChild(node);
  }

  ModifiedTxt2Clipboard(wrapText(getSelectionText()));
})();

我建议您考虑比书签更可靠的Web自动化工具。例如,诸如或之类的免费扩展(已经有一个内置的剪贴板变量)。有关“StAk溢出”的问答,我建议您考虑比书签更可靠的Web自动化工具。例如,诸如或之类的免费扩展(已经有一个内置的剪贴板变量)。“stakoverflow”上的相关问答如下。