2***@qq.com
2***@qq.com
  • 发布:2021-12-23 22:01
  • 更新:2023-07-27 09:27
  • 阅读:1868

uniapp的webview访问本地h5项目,请求全部出现跨域,是用的file协议加载吗?

分类:uni-app

如题,我有一个h5项目(用ionic编写的),把编译好的项目资源放在了hybrid/html目录下面,然后在uni-app的页面中用webview去加载这个资源

<template>  
    <view>  
        <web-view src="/hybrid/html/index.html"></web-view>  
    </view>  
</template>

运行到web时一切正常,但是运行到真机上就会出现http请求失败的问题,所有请求都出现了跨域,就连获取本地json文件都跨域

这个和用file协议直接访问html文件都没有任何区别了

web-view加载本地文件,难道收不能以本地服务的形态加载资源吗?比如本地localhost这种的服务?在webview加载本地文件只能用file协议来访问,那也太low了吧?

2021-12-23 22:01 负责人:无 分享
已邀请:
2***@qq.com

2***@qq.com (作者)

求解,请官方给一个解释

2***@qq.com

2***@qq.com (作者)

有人知道这个问题吗

不老刘

不老刘

为什么用file://

  • 2***@qq.com (作者)

    在真机上web-view加载本地h5项目,看报错信息,效果和file://打开是一模一样,所以想问问在webview加载本地文件是不是都用了file://

    2021-12-24 09:51

T泰达T

T泰达T

去插件市场买个本地http服务器插件解决

  • 2***@qq.com (作者)

    这个必须要用插件才能解决吗?

    2021-12-24 09:51

  • T泰达T

    回复 2***@qq.com: 要嘛就得你的网页内部加载时不要用file协议,这个一般更难改

    2021-12-24 09:55

  • 2***@qq.com (作者)

    回复 T泰达T: 好吧,感谢

    2021-12-24 10:28

  • 2***@qq.com (作者)

    回复 T泰达T: 这个好像是跨域问题,安卓上一切正常,iOS上用的wkWebview,访问本地资源和发请求都出现跨域,请问你有解决办法吗?

    2021-12-24 15:05

  • T泰达T

    回复 2***@qq.com: 不是说了吗,买个插件,在本地起一个服务器

    2021-12-24 15:07

不老刘

不老刘

如果可以访问外网的话,把本地H5放到外网,直接http引用呗~

  • 2***@qq.com (作者)

    嗯,这也是个方法,就是资源访问有点慢,又不想配置cdn加速

    2021-12-24 10:27

摸鱼

摸鱼 - 菜鸡前端

我也遇到这个问题,必须整个服务。文档里也没看到能允许跨域的配置,最后用原生做了

  • 2***@qq.com

    用fetch请求可以配置跨域

    2023-07-27 11:22

要回复问题请先登录注册