uni-copy.js 820 B

123456789101112131415161718192021222324252627282930313233
  1. export default function uniCopy(content) {
  2. /**
  3. * 小程序端 和 app端的复制逻辑
  4. */
  5. //#ifndef H5
  6. uni.setClipboardData({
  7. data: content,
  8. success: function() {
  9. console.log('success');
  10. return true
  11. }
  12. });
  13. //#endif
  14. /**
  15. * H5端的复制逻辑
  16. */
  17. // #ifdef H5
  18. if (!document.queryCommandSupported('copy')) { //为了兼容有些浏览器 queryCommandSupported 的判断
  19. // 不支持
  20. return false
  21. }
  22. let textarea = document.createElement("textarea")
  23. textarea.value = content
  24. textarea.readOnly = "readOnly"
  25. document.body.appendChild(textarea)
  26. textarea.select() // 选择对象
  27. textarea.setSelectionRange(0, content.length) //核心
  28. let result = document.execCommand("copy") // 执行浏览器复制命令
  29. textarea.remove()
  30. return result
  31. // #endif
  32. }