Chrome不允许使用ExecCommand onMouseup



我正在尝试在用户释放鼠标时自动复制选择。但是,似乎onmouseup并未将其视为用户操作,并且目前不允许执行ExecCommand。(execcommand返回false)。

这将有效:鼠标向下>拖动>鼠标向上,全部在一秒钟内完成(我猜是一项有效的用户操作)

这是行不通的:鼠标向下>拖动一段时间>鼠标向上

这是演示代码:

<html>
    <head>
        <script>
            function mouseUp() {
                console.log(document.execCommand('copy'));
            }
        </script>
    </head>
    <body onmouseup="mouseUp()">
        <p>some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text <p>
    </body>
</html>

有什么想法?

如https://developer.mozilla.org/en-us/docs/web/api/document/execcommand/execcommand#browser_compatibility copy函数已陈述(我找不到(我找不到)任何特定于Chrome的东西。)。

我用navigator.clipboard.writeText()实现了相同的功能。

<html>
    <head>
        <script>
            function mouseUp() {
                navigator.clipboard.writeText(window.getSelection()).then(function() 
                {
                    console.log("set");
                }, function() {
                     console.log("failed");
                });
            }
        </script>
    </head>
    <body onmouseup="mouseUp()">
        <p>some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text <p>
    </body>
</html>

您可能需要先在https://developer.mozilla.org/en-us/docs/mozilla/mozilla/add-ons/webextensions/interact_with_with_with_with_with_with_with_withe_clipboard #the_clipboard_apiboard_api

对于页面脚本,需要使用权限API的"剪贴板 - 写入"权限。您可以使用navigator.permissions.query()

检查该权限

最新更新