如何将剪贴板内容自动粘贴到我的网页中

时间:2019-08-02 08:47:06

标签: javascript html flask clipboarddata

我希望在客户端打开URL时将其剪贴板内容自动粘贴到文本区域中。

我什至无法在onclick上做到这一点,并且搜索无处不在。这是我尝试的版本之一:

<!DOCTYPE html>
<html>
    <body>

        <input type="textarea" id="demotext" value=" " size="40" />
        <button onclick="PasteFunction()">Paste text</button>

        <script>
function PasteFunction() {
  document.getElementById("demotext").innerHTML=window.clipboardData.getData('Text');
}
        </script>

    </body>
</html>

如果您了解我的最终目标的完整描述并提出更明智的选择,可能会更好:

我想将Excel数据从客户端连接到我的Web应用程序,而不需要用户手动粘贴数据。当剪贴板内容手动粘贴到我的文本区域时,将触发我的Web应用程序。

Excel加载项可以指导用户手动复制其数据并访问URL到我的Web应用程序,那部分就可以了。他到那里后,将自动粘贴数据并启动Web应用程序。如果使用服务器端有一个更简单的解决方案,我可以考虑使用Flask,但我不希望将用户数据带到服务器上。

2 个答案:

答案 0 :(得分:1)

您可以使用Clipboard API

您可以通过Navigator.clipboard全局访问系统剪贴板,而不是通过实例化创建Clipboard对象:

navigator.clipboard.readText().then(
    clipText => document.querySelector(".editor").innerText += clipText);

答案 1 :(得分:0)

您可以尝试that

async function PasteFunction() {
  const text = await navigator.clipboard.readText();
  document.getElementById("demotext").value = text;
}

但是...只是在Chrome 66或更高版本中工作,需要用户许可