4***@qq.com
4***@qq.com
  • 发布:2023-01-20 08:52
  • 更新:2023-01-20 10:22
  • 阅读:1104

如何确认当前页面(webview中的网页)确实是在uniapp环境中打开?

分类:uni-app

查看uni.webview.1.5.4.js
uni.getEnv实际的返回值只有nvue、plus、h5三种,只有检查window.plus对象这个步骤确实能区分uniapp打包的app和普通app,别的环境(各种小程序)如何区分uniapp和非uniapp呢,按当前版本,getEnv统统都会返回h5

我的网页要同时支持在老系统(非uniapp制作的小程序)和新系统(uniapp制作的小程序)运行,只能在网页内判断当前环境是否为uniapp小程序

另一种方法是在uniapp webview跳转到网页的时候通过url传参,这个我也做了,但是只有webview的“入口页面”能捕获到参数,如果webview初始页面为A,页面A内部再跳转到页面B,一旦页面A没有处理uniapp的url参数,那么页面B也就无从得知当前是否为uniapp环境了,这意味着我需要把所有有可能从webview直接跳转的“入口页面”全部加上url参数捕获,这工程量太大了,还有其他办法判断uniapp环境吗?(主要指小程序,app端根据window.plus判断是准确的)

2023-01-20 08:52 负责人:无 分享
已邀请:
BoredApe

BoredApe - 有问题就会有答案。

可以通过判断navigator.userAgent来确定

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

    具体规则是?userAgent在uniapp打包的小程序里面会有什么特征?

    2023-01-20 10:16

  • BoredApe

    回复 4***@qq.com: Mozilla/5.0 (iPhone; CPU iPhone OS 15_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 Html5Plus/1.0 (Immersed/44) uni-app

    2023-01-20 10:21

BoredApe

BoredApe - 有问题就会有答案。

Mozilla/5.0 (iPhone; CPU iPhone OS 15_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 Html5Plus/1.0 (Immersed/44) uni-app
  • 4***@qq.com (作者)

    微信、支付宝、字节跳动等各个小程序平台的userAgent都会有uni-app这个标记吗?

    2023-01-28 08:22

  • BoredApe

    回复 4***@qq.com: 不会有。只在uni-app 打包的app中才有

    2023-01-28 09:08

  • BoredApe

    通过链接配置的参数可以存储到本地。其他页面也都能获取到了

    2023-01-28 09:44

要回复问题请先登录注册