移动端开启系统缩放和微信开启老年模式的两种样式

本文讲述了在开发过程中遇到的移动端系统放大和微信老年模式缩放问题,通过设置viewport元标签、CSS禁止文本缩放以及JavaScript处理微信内部的字号调整,提供了解决方案,特别提到对于复杂页面,可能需要考虑使用图片替代部分文字以减少改动。
摘要由CSDN通过智能技术生成

解决移动端开启系统放大和微信老年模式两种缩放问题的解决办法

原因:

因为接了个某车企官网的项目,有个落地页要上线,第一次接手,客户那边可能要求比较完善,开始要兼容系统开启放大后的字体缩放问题,会影响整体感官

技术细节

` 提示:系统缩放解决办法:
首先:

<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1" />

其次css:

html,body {
  text-size-adjust: none;
  -webkit-text-size-adjust: none;
  -ms-text-size-adjust: none;
  -moz-text-size-adjust: none;
}

这时候已经禁用掉绝大多数的缩放问题了。

然后修好了后 客户又开启了微信老年关怀模式的缩放,这个功能是微信框架之内的,不能通过css更改了。

在js添加如下代码:

 try {
    if (typeof WeixinJSBridge === 'object' && typeof WeixinJSBridge.invoke === 'function') {
      handleFontSize()
    } else {
      if (document.addEventListener) {
        document.addEventListener('WeixinJSBridgeReady', handleFontSize(), false)
      } else if (document.attachEvent) {
        document.attachEvent('WeixinJSBridgeReady', handleFontSize())
  	  document.attachEvent('onWeixinJSBridgeReady', handleFontSize())
      }
    }
    function handleFontSize() {
      // 设置网页字体为默认大小
      WeixinJSBridge.invoke('setFontSizeCallback', {
        fontSize: 0
      })
      // 重写设置网页字体大小的事件
      WeixinJSBridge.on('menu:setfont',
      function() {
        WeixinJSBridge.invoke('setFontSizeCallback', {
          fontSize: 0
        })
      })
    }
  } catch(e) {
  
}

小结

提示:有点闹幺蛾子了,其实如果页面简单的话,可以通过把重要字体等排版通过换成图片来解决,但已经成型的网页,换图片的话修改比较多,就找出了这些个总体改变的路子

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

星陈~

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

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

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

打赏作者

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

抵扣说明:

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

余额充值