gpt4 book ai didi

javascript - react 错误 : "SharedArrayBuffer is not defined" in Firefox

转载 作者:行者123 更新时间:2023-12-04 11:50:26 27 4
gpt4 key购买 nike

我有一个使用“create-react-app”创建的 React 应用程序(我也使用 jsdom NPM 包),由于某种原因,应用程序在加载时抛出错误 仅在 Firefox 中(在 Chrome 和 Edge 中运行良好)。

这是错误:

ReferenceError: SharedArrayBuffer is not defined
./node_modules/jsdom/node_modules/webidl-conversions/lib/index.js
C:/Or/Web/WorldCovid/WorldCovid/node_modules/jsdom/node_modules/webidl-conversions/lib/index.js:347

344 |
345 | const abByteLengthGetter =
346 | Object.getOwnPropertyDescriptor(ArrayBuffer.prototype, "byteLength").get;
> 347 | const sabByteLengthGetter =
348 | Object.getOwnPropertyDescriptor(SharedArrayBuffer.prototype, "byteLength").get;
349 |
350 | function isNonSharedArrayBuffer(V) {
经过一番谷歌搜索后,我发现:
“要在 Firefox 中启用 SharedArrayBuffer,请转到 about:config 并将 javascript.options.shared_memory 首选项设置为 true”( https://github.com/ggerganov/kbd-audio/issues/9)

问题是它已经启用为真。
以前有人遇到过这个问题吗?
谢谢。
更新:
试图转换为:
const shared = new SharedArrayBuffer(1024);

const abByteLengthGetter =
Object.getOwnPropertyDescriptor(ArrayBuffer.prototype, "byteLength").get;
const sabByteLengthGetter =
Object.getOwnPropertyDescriptor(shared.prototype, "byteLength").get;
仍然得到相同的错误(与 SharedArrayBuffer 对象不同的行)。

最佳答案

您需要为您的文档设置两个响应 header :
Cross-Origin-Opener-Policy:同源
跨域嵌入策略:require-corp
这些是使用 SharedArrayBuffer 的新安全要求。
如果启用了跨源隔离,您可以 checkin 代码:
如果(crossOriginIsolated){
//SharedArrayBuffer 可用
}
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer

关于javascript - react 错误 : "SharedArrayBuffer is not defined" in Firefox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64650119/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com