请问怎么判断一个页面是通过app打开的

如果我们写了一个页面,它可能会放到app里面,也可能放到微信里面,也可能直接浏览器打开这个地址,我们可以怎么判断是否嵌在app里面打开的呢

阅读 13k
6 个回答

现代前端一般提倡探测能力而非检测终端,比如你需要兼容微信和非微信,微信多出来的能力就是微信的js api,那么直接探测这个api的存在(比如weixinJsBridge对象啊WeixinJSBridgeReady事件啊这些)

如果你需要兼容app内嵌和非app内嵌,同理直接探测你的app内嵌后额外增加的能力

我现在做的项目也有同样需求,不过我判断方法是,先判断ua是不是微信的,再判断是不是pc的,如果都不是,就是app的了。因为做app的人不肯帮忙改一下app内置的ua信息,所以没办法直接判断

是你们自己的页面就很好办啊
在url里加不同的参数比如 ?from=app|weixin

做app公司的做法:

如果是app可以自定义一些useragent
如果是wechat本身自带了wechat

网页的方式:
分类请求也是个方式

if(plus.device.uuid){
  //能输出代表在android或者ios中打开
}else{
  //那就是在浏览器中打开了
}

未经测试,理论上可行,在页面中添加即可

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题