首页 > 解决方案 > 使用 Javascript 在 Firefox 和 safari 中单击从剪贴板获取文本

问题描述

我正在寻找一种通过在 Firefox 和 Safari 中单击带有 Javascript 的按钮来从剪贴板粘贴文本的方法。

我为此编写了这段代码。

function paste() {
    let pasteArea = document.querySelector("textarea");
    pasteArea.value = "";
    navigator.clipboard.readText().then((text) => {
        pasteArea.value = text;
    });
},
document.getElementById("btn").addEventListener("click", paste);

Chrome 可以使用它,但不适用于 safari 和 firefox,并且由于浏览器不支持它而出现错误;

Firefox; TypeError: navigator.clipboard.read is not a function
Safari; TypeError: undefined is not an object (evaluating 'navigator.clipboard.readText')

我也试过

document.execCommand('paste', false, null);

但由于浏览器支持,它们都不适用于其中任何一个。我也试过

 event.clipboardData.getData("text/plain");

但不适用于点击事件,但它适用于我不想要的粘贴事件。

我想避免使用 Flush,并想用 CLICK 事件粘贴文本。可能吗?

标签: javascriptclipboard

解决方案


推荐阅读