问题标签 [sharedarraybuffer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1514 浏览

reactjs - 为什么以及如何在我的 react-app 中解决 SharedArrayBuffer 警告

我的 React-app 已安装axios(dependency) 和json-server(dev-dependency),在我这样做之后,我的 react-app 开始抛出以下警告消息

[Deprecation] SharedArrayBuffer will require cross-origin isolation as of M91, around May 2021.


这是什么,我该如何解决这个错误,为什么会这样?

我是该领域的初学者,错误中提供的链接使用的是我无法理解的高级语言,[this](https://developer.chrome.com/blog/enabling-shared-array-buffer/ ) 是控制台中提供的链接。
0 投票
1 回答
115 浏览

sharedarraybuffer - Android Chrome 88 和桌面 Chrome 92 中的 SharedArrayBuffer 更新

我需要帮助来解决以下问题。在使用 react 应用程序练习时,我在控制台中收到了这个消息:

[弃用] 自 2021 年 5 月左右的 M91 起,SharedArrayBuffer 将需要跨域隔离。有关更多详细信息,请参阅https://developer.chrome.com/blog/enabling-shared-array-buffer/。有人遇到这个问题吗?并且知道如何实施吗?

0 投票
2 回答
269 浏览

reactjs - React 在哪里为 SharedArrayBuffer 设置标头?

我正在 Windows10 的 localhost 上运行使用 create-react-app 创建的网站。当我尝试在我的网站中使用 ffmpeg 时,出现错误

“SharedArrayBuffer 未定义”

在火狐中。为了解决这个问题,我到处都看到我必须在“我的顶级文档”中添加 COOP 和 COEP 标题。

问题是我不明白什么是“顶级文档”以及在哪里可以找到它。

我试图添加:

在我的 index.html 中,正如我在某处看到的那样,但它不起作用。

您能否告诉我,我必须在其中添加标题的文件是什么以及在哪里可以找到它?

0 投票
0 回答
263 浏览

browser - 如何启用跨源隔离?(具体情况)

我正在使用 1and1 (ionos) 托管一个网站,它使用导入的 CSS 和 JS 提供一个 HTML 页面。我试图弄清楚如何启用跨源隔离,但我能找到的是我们需要启用某些响应标头:https ://web.dev/cross-origin-isolation-guide/ 。

具体在这些说明中:

在此处输入图像描述

在顶级文档上设置页眉是什么意思?如何做到这一点?我进行了大量搜索,但没有找到有关如何创建/启用这些响应标头的详细信息。

我需要这样做才能在 Firefox 中使用 SharedArrayBuffer。

0 投票
1 回答
175 浏览

security - `Uncaught ReferenceError: SharedArrayBuffer is not defined` 自 Chrome 92

的用法SharedArrayBuffer导致错误:Uncaught ReferenceError: SharedArrayBuffer is not defined在 Chrome 92 上。这是为什么?我该如何解决?

0 投票
0 回答
96 浏览

javascript - 如何在单个工作线程中监视对 SharedArrayBuffer 的更改?

我可以向你保证,这不是你典型的“如何观察 JS 变量的变化”的帖子!

所以我有一些工作线程为 Node.js 中的父线程收集数据。

父线程在设定的时间范围内处理数据,只关注事物。

有时工作线程发送给父线程的数据真的很有趣,当父线程得到有趣的数据时,我希望它立即被处理。(无需等待下一个刻度滚动。)

我坚持的是如何最快速有效地与主工作线程进行通信dataIsInteresting = true

工作线程立即知道他们的数据很有趣,但主线程只知道当它处理时,它通常会在几百毫秒后滴答作响。

我正在使用SharedArrayBuffers 在工作线程和父线程之间共享内存。

令人沮丧的是,父线程实际上立即拥有有趣的数据,它就在其中,只是在计时器关闭并告诉它处理该 SharedArrayBuffer 中的数据之前它不知道它。

我知道我可以通过多种方式从工作线程向父线程发送消息,但无论我怎么做都需要大约 0.75 毫秒。(对于 JS postMessage 以及本地 Websocket 客户端/服务器设置,速度似乎相同......这是有道理的。)

这很好,但是我找到了一种更快的方式来在线程之间进行通信(至少是这样),并且只是希望可能有其他我没有想到的方式?

我可以运行在父线程中调用的同一函数的递归循环isDataInteresting(),不断地用 调用自身process.nextTick(() => {isDataInteresting();});,但这会使 CPU 最大化,我担心它会减慢需要在父线程中定期发生的其他重要计算。

我可以将其切换为setTimeout(function(){isDataInteresting();},0);每隔几千次调用调用一次,isDataInteresting()以将父线程上的 CPU 使用率降低到恒定的 25%,这是我可能要采取的路线,但这看起来很笨拙。

我不能将激进的isDataInteresting()检查传递给另一个工作线程,因为这会产生与我一开始遇到的相同的问题......这就是如何立即通知父线程有趣的数据!

不幸的是,也不允许通过 javascript postMessages 克隆/发布代理对象。

isDataInteresting()支票在很大程度上是最快的。在大约 10,000 纳秒而不是 750,000 纳秒内通知父线程感兴趣的数据。所以如果kludge是唯一有效的东西,我想我会接受它。

我希望有另一种方法来检查我没有考虑的变量的更新数据吗?

谢谢阅读!

0 投票
0 回答
45 浏览

reactjs - 反应弃用 SharedArrayBuffer 问题

完成所有设置后,我在本地主机上安装了一个 React + Laravel 项目,我面临以下问题:-

[弃用] 自 2021 年 5 月左右的 M91 起,SharedArrayBuffer 将需要跨域隔离

有没有不升级任何版本的解决方案?

0 投票
2 回答
315 浏览

firefox - 无法使用 Firefox 在本地测试 WebAssembly 页面 - 未定义 SharedArrayBuffer

我正在使用基于 WebAssembly 的软件,该软件使用需要SharedArrayBuffer. 它在 Chromium local/deployed 和 Firefox 89 部署中运行良好,但由于最好的性能是在 Firefox 下,我想在我的机器上测试和调整它,所以我运行python -m SimpleHTTPServer. 在这种情况下,当我在 Firefox 中打开 127.0.0.1:8000 或 0.0.0.0:8000 时,SharedArrayBufferundefined。也许这是一个安全设置,但是当使用 localhost 时,我真的对 Firefox 对这种情况的解释不感兴趣——这应该只是运行。我怎样才能让它工作?我需要不同的网络服务器、不同的设置吗?

0 投票
4 回答
419 浏览

github - 无论如何在 Github 页面上使用 SharedArrayBuffer 吗?

  • 嗨,Chrome 已经实现了一些使用 SharedArrayBuffer 的要求,我们必须包含两个标头:

Cross-Origin-Opener-Policy:同源 Cross-Origin-Embedder-Policy:require-corp

  • 有什么方法可以在 Github 上使用 SharedArrayBuffer 吗?我尝试过 netlify,但他们对带宽有限制。是否有任何类似于 GitHub 的托管静态站点可以允许我们自定义请求标头以便我们可以使用 SharedArrayBuffer?
0 投票
1 回答
325 浏览

javascript - Pyodide:ReferenceError:SharedArrayBuffer 未定义

我正在开发我最后一年的项目。开发基于浏览器的 IDE。我正在使用 Pyodide 进行编译。之前运行良好,但是现在尝试运行项目时,遇到了关于 SHAREdArrayBuffer() 的错误。我不知道是什么导致了这个问题。请任何人帮助我,我的最后一年的演讲是下周三,我的项目没有工作。

这是我正在使用它。

至少有另一种方法吗?是的,我正在使用网络工作者。我在 Edge、Firefox 和 Mozilla 上收到此错误。

ReferenceError: SharedArrayBuffer is not defined

我在本地主机上的网站上运行。是因为我的网站没有认证吗?