首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Vue&uni-app在微信浏览器隐藏titleNView的一个方法

Vue&uni-app在微信浏览器隐藏titleNView的一个方法

作者头像
德顺
发布2023-08-25 12:40:09
发布2023-08-25 12:40:09
1.6K0
举报
文章被收录于专栏:前端资源前端资源

做 H5 经常会遇到很多需求,比如在微信/钉钉浏览器打开的时候会显示两个 head 或者 title 头。

这是就有人看这两个 title 不顺眼,强烈建议要把它干掉。

但是并不是所有的页面的 head 都是一样的,uni-APP 虽然有一个“条件编译”功能,可以区分不同平台,显示不同的内容。

不过条件编译只能去别 H5 APP 和 各个平台的小程序,并没有对微信做独立的兼容。

于是我就干脆直接用 JS 判断,微信浏览器直接隐藏 head 的标签得了:

我是在 app.vue 添加如下代码:

代码语言:javascript
复制
isWeChat: function () {
  let ua = window.navigator.userAgent.toLowerCase()
  if (ua.match(/MicroMessenger/i) == 'micromessenger') {
    let head = document.getElementsByTagName('uni-page-head');
    head.style.cssText = "display:none;"
  }
},

在合适的位置调用一下:

代码语言:javascript
复制
this.isWeChat();

但是发现一个问题,首次进入页面没有问题,再进行页面跳转就会失效,应该是页面跳转并没有走 App.vue 。

换个方法,在页面中插入 style :

代码语言:javascript
复制
isWeChat: function () {
  let ua = window.navigator.userAgent.toLowerCase()
  if (ua.match(/MicroMessenger/i) == 'micromessenger') {//判断微信
    let style = document.createElement('style');
    style.type = 'text/css';
    style.innerHTML="uni-page-head,.uni-page-head{display:none;}";
    document.getElementsByTagName('head').item(0).appendChild(style);
  }
},

这样刷新页面也可以隐藏头部了。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-08-27),如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档