为什么我的 navigator.clipboard 代码在将剪贴板中的文本粘贴到 Firefox 中的输入时不起作用?

问题描述 投票:0回答:2

我想要一个按钮来将一些文本(从剪贴板)粘贴到输入字段中。

以下代码片段适用于 Chromium,但不适用于 Firefox。

<input>
<button>paste</button>
<script>
    document.querySelector('button').addEventListener('click', () =>
        navigator.clipboard.readText().then(text => document.querySelector('input').value = text)
    );
</script>

有没有办法在Firefox中达到同样的效果?

javascript dom firefox clipboard
2个回答
2
投票

Firefox 74 至 124 版本有隐藏测试实验:

dom.events.testing.asyncClipboard
https://bugzil.la/1597857

Firefox v103 也改变了逻辑:

    如果我们点击按钮,
  • dom.events.asyncClipboard.readText
    启用了当前粘贴选项作为列表菜单,类似于“右键单击菜单”(为了避免这些列表菜单,可以通过添加到 Firefox 74+ 的选项来启用)。
  • 较旧的
    dom.events.testing.asyncClipboard
    不再独立工作 - 需要同时启用两者。

这两个首选项仍然不支持像 Chrome 那样的域权限,但带有附加菜单的机制现在可以保护剪贴板(如果我们禁用添加到 Firefox 74+ 的测试版本)。


1
投票

从 Firefox 125 开始,粘贴命令现在完全可以工作。您提供的演示代码将可以工作。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.