文章

解决微信调整字体大小导致页面样式混乱的问题

解决微信调整字体大小导致页面样式混乱的问题

解决微信调整字体大小导致页面样式混乱的问题

微信具有调整字体大小的功能,然而有时候调整字体大小会导致微信公众号内的H5页面样式混乱。

解决原理:阻止ios和安卓调整字体大小时候的事件。ios通过添加css属性,安卓通过微信属性去阻止。

注:添加后无法通过外部更改字体大小,根据项目需求运用。

ios系统:

1
2
3
body{
    -webkit-text-size-adjust: 100% !important;
}

安卓系统:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
(function() {
    if (typeof WeixinJSBridge == "object" && typeof WeixinJSBridge.invoke == "function") {
        handleFontSize();
    } else {
        document.addEventListener("WeixinJSBridgeReady", handleFontSize, false);
    }
    function handleFontSize() {
        // 设置网页字体为默认大小
        WeixinJSBridge.invoke('setFontSizeCallback', { 'fontSize' : 0 });
        // 重写设置网页字体大小的事件
        WeixinJSBridge.on('menu:setfont', function() {
            WeixinJSBridge.invoke('setFontSizeCallback', { 'fontSize' : 0 });
        });
    }
})();

 注:安卓使用了微信的JS桥。

这样解决会出现的问题:    1、如果用户在标准情况下,打开页面。再调整字体大小,那么页面依旧正常。    2、如果用户先调整了字体大小,再打开页面,页面会变大,一秒之后恢复正常。    注:采用loading,可解决2的问题

本文由作者按照 CC BY 4.0 进行授权