uniapp H5發布后在部分手機字體變大,導致頁面錯亂


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;
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM