Intellectualscholar

uniapp H5打包发布后在部分手机字体无故变大,导致页面错乱,字体都是使用upx(rpx)单位的(这个不是问题原因),在电脑的浏览器和微信开发者工具上各种机型测试页面都是正常的。

最后使用多个手机型号测试后,发现这个与手机型号无关,与微信设置的字体大小有关系。字体无故变大,导致页面错乱的手机都是把微信字体设置了非标准大小字体的手机。

 

 

 

查看微信字体大小:打开微信 → 我 → 设置 → 通用 → 字体大小

 

解决方法:

在App.vue的<script></script>代码修改成一下代码(安卓手机)

<script>
    (function() {
      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
        });
       });
      }
     })();
    export default {
        onLaunch: function() {
            console.log(\'App Launch\')
        },
        onShow: function() {
            console.log(\'App Show\')
        },
        onHide: function() {
            console.log(\'App Hide\')
        }
    }
</script>

 

在App.vue的<style></style>代码修改成一下代码(苹果手机)

body { /* IOS禁止微信调整字体大小 */
            -webkit-text-size-adjust: 100% !important;
            text-size-adjust: 100% !important;
            -moz-text-size-adjust: 100% !important;
}

 

分类:

技术点:

相关文章:

  • 2022-02-07
  • 2021-11-05
  • 2022-02-07
  • 2022-02-07
  • 2021-12-31
  • 2021-12-15
  • 2022-12-23
  • 2021-12-27
猜你喜欢
  • 2022-02-07
  • 2022-02-07
  • 2022-02-07
  • 2022-12-23
  • 2021-11-21
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案