我正在使用Vite和Cypress来开发和测试
我正在加载ffmpeg,它在Chrome上加载得很好,但在Cypress上,它给出了这个错误
ReferenceError: SharedArrayBuffer is not defined
显然,这是由跨源隔离引起的。
我尝试在Cypress.json
中禁用网络安全,但对没有帮助
样本代码
import { createFFmpeg } from "@ffmpeg/ffmpeg"
const ffmpeg = createFFmpeg({ log: true })
ffmpeg.load()
有变通办法吗?
最小Reprohttps://github.com/unlocomqx/cypress-ffmpeg
我在项目中遇到了类似的问题,我可以用你的例子重现你的错误。
尝试将Cypress版本切换回8.5.0,并使用Electron Browser运行测试。到目前为止,这是我的变通方法。。。
从Cypress 8.5.0到8.6.0,他们将Electron版本从13.2.0更新到14.1.0:https://docs.cypress.io/guides/references/changelog#8-6-0
我会在Cypress论坛上发帖寻求帮助,并链接此帖子。
Cypress问题链接:https://github.com/cypress-io/cypress/issues/19912
Thx用于示例回购。
无论使用什么服务器,都需要向客户端发送以下标头。
跨来源开放政策:同源
跨来源嵌入器政策:要求公司
出于安全原因,如果服务器响应中不存在这些标头,则会禁用SharedArrayBuffer。