小程序使用webview嵌入H5,附件链接无法打开问题

在一次做项目时,排查小程序中附件链接打不开问题,但另一个小程序同样的代码有的可以打开,有的打不开;排查了好久,后来后台说有的打开是因为没有做站点区分限制,不能打开是因为做了站点校验,因为需要用的cookie,但是小程序无法拿到H5的cookie信息,所以采取了利用唯一标识来判断。同时也总结了下注意事项:

小程序使用webview嵌入H5,想要打开附件链接时,要注意的问题

1:在H5页面使用小程序的API方法wx.redirectTo跳转到小程序中

2:因为H5可能会被嵌入到多个地方,为了区分在小程序中嵌入的H5地址后面要加参数miniprogram=1进行识别;使用wx.downloadFile和wx.OpenDocument方法下载和预览附件

3:在使用wx.OpenDocument方法时需要注意最好传入fileType参数,不然可能无法识别附件类型

4:在小程序管理平台需要配置downloadFIle域名,不然无法下载

5:小程序和webview中无法直接共享数据,如果必须要做识别用,可以和后台约定好唯一标识放在参数url后面,这样也可以进行识别
①webview如何使用小程序中的cookie:
wx.request会返回header,取到Set-Cookie这个字段,然后使用encodeURIComponent编码一下,通过url传给webview,在webview中通过document.cookie赋值即可
②小程序无法控制webview中cookie,两者是隔离的

6:为什么小程序与web-view与不能共享cookie

小程序的wx.request()是通过jsCore调用系统原生api发起的请求,即便header里带有set-cookie,也不会在web-view对应的’浏览器’中设置cookie,而是由原生应用来处理这个header中的set-cookie。

但是,小程序中的web-view和微信中直接打开的h5,因为用的是同一个浏览器内核,所以,它们的cookie、storage是可以共享的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个大土豆的日常

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值