uni-app web-view引入页面window.SharedArrayBuffer为undefined

uni-app web-view引入页面window.SharedArrayBuffer为undefined

示例代码:

<web-view src="https://well-digger-game.com/EmulatorJS-4.2.1/index.html" />

操作步骤:

<web-view src="https://well-digger-game.com/EmulatorJS-4.2.1/index.html" />

预期结果:

预期window.SharedArrayBuffer不为undefined

实际结果:

window.SharedArrayBufferundefined

bug描述:

web-view中嵌入的https://well-digger-game.com/EmulatorJS-4.2.1/index.html页面window.SharedArrayBufferundefined,但是在浏览器直接访问时window.SharedArrayBuffer是一个函数

Image


更多关于uni-app web-view引入页面window.SharedArrayBuffer为undefined的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

打印一下手机上的webview的版本号,然后对比下这个api的浏览器兼容性要求

更多关于uni-app web-view引入页面window.SharedArrayBuffer为undefined的实战教程也可以访问 https://www.itying.com/category-93-b0.html


uniapp里面怎么查看???

这是由于uni-app的web-view组件在Android平台默认使用的WebView内核不支持SharedArrayBuffer导致的。这个功能需要特定的HTTP响应头和安全策略才能启用。

解决方案:

  1. 确保目标服务器返回以下HTTP头:
Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Embedder-Policy: require-corp
  1. 如果是自托管页面,可以在服务端配置这些响应头。对于第三方页面,需要联系网站管理员添加这些头信息。

  2. 在uni-app的manifest.json中配置Android的WebView使用Chrome内核(如果目标用户设备支持):

{
  "app-plus": {
    "webView": {
      "android": {
        "useSystemWebView": false
      }
    }
  }
}
回到顶部