vue单页面在iOS微信浏览器中弹出底部栏导致的样式问题

公司使用vue开发,可是在android微信中页面显示正常,在iOS中点击页面跳转却会显示异常,由于ios微信浏览器出现底部功能栏导致窗口视口高度变小,而由于单页面页面没有刷新导致定位错乱。

网上找了一些资料发现好多人是处理把底部的功能栏隐藏,通过对浏览器历史记录处理,是没有历史记录使隐藏底部功能栏,这里加入你需要记住历史记录,则需要单独存储历史记录,并进行相应的处理,会比较麻烦。因此写个笔记,给有需要的同学。

我们产品的需求是页面显示正常即可不强制隐藏微信底部的功能栏,这里H5的新属性pushstate就刚好用到。可以在页面初次加载时就添加历史记录主动调出微信的底部栏。这样就解决了布局错乱问题,也不用对历史记录的特殊处理。

思路有了代码也很简单,贴个我的代码

isIOS= !!navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)

if(fn.isIOS){

window.history.pushState({}, "title", "#");

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容