Cannot read properties of undefined (reading 'writeText')
时间: 2023-09-24 08:05:14 浏览: 325
引用中的代码片段指出了解决报错 "Cannot read properties of undefined (reading 'writeText')" 的方法。该报错通常是因为代码中尝试访问一个未定义的属性,即navigator.clipboard.writeText,但是由于不支持该属性,所以报错。为了解决这个问题,可以使用兼容写法来提升代码的兼容性。在安全域下,可以使用navigator.clipboard.writeText来实现复制功能,而在非安全域下,则可以退回到使用document.execCommand('copy')来实现复制功能。具体的实现方法如下所示:
首先,需要给要复制的文本或按钮添加一个点击事件,并将要复制的值传递过来。代码示例中给出了一个名为copyValue的异步函数。
如果navigator.clipboard存在并且页面处于安全域下,则可以直接使用navigator.clipboard.writeText(val)来将文本复制到剪贴板中,并返回一个成功的提示信息。
如果navigator.clipboard不存在或者页面不处于安全域下,则需要创建一个用于复制的文本区域。首先,创建一个textarea元素,并将要复制的值赋给它的value属性。然后,将该textarea元素添加到页面的body中,并使其不可见。接下来,将焦点聚焦到该textarea元素上,并选中其中的文本。然后,执行document.execCommand('copy')命令来复制文本,并根据复制命令的执行结果返回相应的Promise。最后,将该textarea元素从页面中移除。
通过以上的兼容写法,可以保证复制功能在不同环境下的可用性,并避免报错 "Cannot read properties of undefined (reading 'writeText')" 的问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [导入excel Uncaught TypeError: Cannot read properties of undefined (reading ‘read‘)](https://blog.csdn.net/The_Lucky_one/article/details/127202499)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* [解决navigator.clipboard Cannot read properties of undefined (reading ‘writeText‘)](https://blog.csdn.net/qq_58340302/article/details/124480086)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文