Error:SharedArrayBuffer is not defined(不止配置COEP和COOP)

1.SharedArrayBuffer是什么?

SharedArrayBuffer 对象用来表示一个通用的原始二进制数据缓冲区,类似于 ArrayBuffer 对象,但它可以用来在共享内存上创建视图。MDN-SharedArrayBuffer

在浏览器环境中,SharedArrayBuffer 对象被认为是一种潜在的安全风险。为了防止 Spectre 攻击等漏洞,现代浏览器通常会禁用或限制对 SharedArrayBuffer 的使用。

2.解决方法一(常规思路)

配置COEP和COOP请求头和响应头。

2.1 响应头配置

可在Nginx中配置

Cross-Origin-Embedder-Policy: require-corp
Cross-Origin-Opener-Policy: same-origin

2.2 请求头配置

在项目根html文件的head标签中配置

<meta http-equiv="Cross-Origin-Embedder-Policy" content="require-corp">
<meta http-equiv="Cross-Origin-Opener-Policy" content="same-origin">

3.解决方法二(暴力解决-可100%解决问题)

这个方法来源于题主在Iframe嵌入网页时,已经配置了COEP和COOP头,仍然报错发现,主要思路是在谷歌浏览器快捷方式-目标位置添加相关后缀,如下图:
在这里插入图片描述
通过后缀**–enable-features=SharedArrayBuffer**来强制让浏览器支持SharedArrayBuffer
一定记得配置好后关闭所有谷歌浏览器窗口,点击配置后的浏览器快捷方式打开浏览器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值