灵就宫弟子
灵就宫弟子
  • 发布:2022-04-21 11:35
  • 更新:2022-04-22 20:15
  • 阅读:1935

【报Bug】ios的wkwebview,加载本地的图片涉及跨域

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win10

HBuilderX类型: 正式

HBuilderX版本号: 3.4.6

手机系统: iOS

手机系统版本号: iOS 15

手机厂商: 模拟器

手机机型: iphone 12pro

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

loader.add([
{
name: 'audio_on',
url: "static/img/button/audio_on.png",
crossOrigin: true

  },   

])

操作步骤:

使用pixijs的加载图片loader功能(其它游戏引擎也类似)

预期结果:

预期可以加载出来图片资源

实际结果:

加载不出

bug描述:

ios的wkwebview,本地的网页,加载本地的图片资源涉及跨域,加载不出图片。IOS的uiwebview正常

涉及的代码使用的是pixijs的loader.add, 无效,设置crossOrigin参数为true也无效(IOS的uiwebview正常)

查了一下原因,原生的解决办法是要给webview添加允许跨域的属性设置以解决该问题:https://www.jianshu.com/p/ee1e58088909

所以请求给IOS的webview版加一个参数,允许跨域,谢谢!

2022-04-21 11:35 负责人:DCloud_iOS_XHY 分享
已邀请:
DCloud_iOS_XHY

DCloud_iOS_XHY

感谢反馈,后续会提供 allowFileAccessFromFileURLs 的配置,可以自己开启,不过需要注意开启 allowFileAccessFromFileURLs 会存在安全漏洞,需要自己斟酌

  • 灵就宫弟子 (作者)

    谢谢!!

    2022-04-23 14:39

  • hiker7

    请问现在这个配置加上了吗?

    2023-02-08 17:27

  • 1***@qq.com

    你好,现在allowFileAccessFromFileURLs加上了吗

    2023-03-23 10:05

1***@qq.com

1***@qq.com

同问

x***@163.com

x***@163.com

+1+1
顶一下

灵就宫弟子

灵就宫弟子 (作者)

顶一下

灵就宫弟子

灵就宫弟子 (作者)

日常询问

1***@qq.com

1***@qq.com

希望官方能够给个解决方法吧

BoredApe

BoredApe - 有问题就会有答案。

参考一下《网赚游戏》中首页使用web-view的方式来解决跨域问题。

<web-view v-if="platform=='android'" :src="'/hybrid/html/plugins/h5/index.html'" class="webview" ref="iframe"></web-view>  
<web-view v-if="platform=='ios'" :src="'http://localhost:13131/_www/hybrid/html/plugins/h5/index.html'" class="webview" ></web-view>

iOSmanifest.json中开启miniserve

"capabilities" : {  
    "plists" : {  
        "DCloudConfig" : {  
            "miniServer" : true  
        }  
    }  
}

试试这种方式能否解决问题。打包后生效

该问题目前已经被锁定, 无法添加新回复