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

时间:2017-07-19 20:07:50

标签: javascript 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()));
})();

0 个答案:

没有答案