js 在火狐 如何实现点击按钮 把已经复制好的文本 获取到?

在火狐 js如何实现点击按钮 把已经复制好的文本 获取到?

navigator.clipboard.readText().then(
 clipText => {
 console.log(clipText, "clipText")
 });

chrome 可以拿到,火狐会报错

至于这个 document.execCommand('Paste'); 执行之后,啥反应都没有

这个功能是不能实现的吗

阅读 2.1k
2 个回答

可以看下 MDN Clipboard API 里的兼容性列表,Firefox 对 clipboard API 的支持仅限浏览器扩展内部使用 clipboardRead

学会这个方式,以后类似的问题都可以快速查询。另外也可以参考 caniuse.com

您可以使用 JavaScript 的 getSelection() 函数来获取用户选择的文本内容。首先,在点击按钮时将文本选中,然后调用 getSelection() 函数即可获取到选中的文本。具体实现可以参考如下代码:

// 在点击按钮时触发的函数
function onClick() {
  // 选中文本
  const range = document.createRange();
  range.selectNode(document.getElementById('text'));
  window.getSelection().addRange(range);

  // 获取选中的文本
  const selectedText = window.getSelection().toString();

  // 取消文本的选中状态
  window.getSelection().removeAllRanges();
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题