Chrome中Uncaught TypeError错误求助:globalThis?.crypto?.randomUUID非函数
解决Chrome中
globalThis?.crypto?.randomUUID is not a function错误 可能原因
- Chrome更新后,部分页面或扩展的沙箱环境限制了
cryptoAPI的访问权限 - 浏览器隐私设置禁用了相关功能
- 第三方扩展(比如广告拦截、隐私防护类)与页面脚本冲突
分步解决办法
1. 确认Chrome版本兼容性
先查自己的Chrome版本是否在90以上(crypto.randomUUID从Chrome 90开始支持):
- 地址栏输入
chrome://version/查看版本号 - 版本低于90的话直接升级到最新版
2. 排查扩展冲突
- 打开
chrome://extensions/,开启右上角「开发者模式」,点击「禁用所有扩展」 - 刷新出错页面,要是错误消失,就逐个重新启用扩展,找出搞事情的那个,要么更新要么卸载
3. 重置Chrome设置
- 打开Chrome设置,拉到最底部点「高级」,找到「重置设置」
- 选「恢复原始默认设置」,重置后重启Chrome再测试
4. 给页面加兼容代码(自己开发的网页适用)
如果是你自己做的网页出问题,在页面最开头加这段代码,补全randomUUID的兼容实现:
if (!globalThis.crypto?.randomUUID) { globalThis.crypto.randomUUID = function() { return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) { var r = Math.random() * 16 | 0, v = c === 'x' ? r : (r & 0x3 | 0x8); return v.toString(16); }); }; }
5. 测试隐身模式
- 打开Chrome隐身窗口访问出错页面
- 如果隐身模式正常,说明是当前用户配置文件有问题,新建一个用户配置文件试试
内容的提问来源于stack exchange,提问作者Phil
相关产品推荐
相关产品推荐

