我想有一个按钮来粘贴一些文本(从剪贴板)到输入字段。
下面的代码片段可以在Chromium中工作,但不能在Firefox中工作。
<input>
<button>paste</button>
<script>
document.querySelector('button').addEventListener('click', () =>
navigator.clipboard.readText().then(text => document.querySelector('input').value = text)
);
</script>
有没有办法在Firefox中实现同样的效果?
1条答案
按热度按时间uhry853o1#
Firefox 74+有隐藏的测试实验:
dom.events.testing.asyncClipboard
(https://bugzil.la/1597857)Firefox 103+也改变了逻辑:
dom.events.asyncClipboard.readText
启用目前粘贴选项作为列表菜单类似于“右键菜单”,如果我们点击按钮(以避免这些列表菜单足够是启用与选项添加到Firefox 74+)。dom.events.testing.asyncClipboard
不再独立工作-需要同时启用两者。两者仍然不支持像Chrome一样的域权限,但带有额外菜单的机制现在可以保护剪贴板(如果我们禁用添加到Firefox 74+的测试版本)。