微信H5页面调整字体大小,网页适配方式


         项目本身前端用的是rem布局,在正常的文字大小下,布局跟观感是没啥问题,但是因客户的一个操作,需要放大字体查看文章,结果页面布局错乱了,网上搜索一番都是禁止页面放大缩小的。需求是要适配用户微信端的文字大小调整,于是经过多番尝试,有了如下的代码

     

document.addEventListener(" WeixinJSBridgeReady", function() {
   
    var _size = Math.floor(document.documentElement.clientWidth * 20 / 320) // rem计算的值 

    WeixinJSBridge.on(" menu:setfont", function(e) {
        //e.fontSize,e.fontScale
        switch (+e.fontSize) {
            case 1:
                document.getElementsByTagName('html')[0].style.fontSize = (_size - 2) + 'px'
                break;
            case 2:
                document.getElementsByTagName('html')[0].style.fontSize = _size + 'px'
                break;
            case 3:
                document.getElementsByTagName('html')[0].style.fontSize = (_size + 1) + 'px'
                break;
            case 4:
                document.getElementsByTagName('html')[0].style.fontSize = (_size + 2) + 'px'
                break;
            case 5:
                document.getElementsByTagName('html')[0].style.fontSize = (_size + 3) + 'px'
                break;
            case 6:
                document.getElementsByTagName('html')[0].style.fontSize = (_size + 4) + 'px'
                break;
            case 7:
                document.getElementsByTagName('html')[0].style.fontSize = (_size + 5) + 'px'
                break;
            case 8:
                document.getElementsByTagName('html')[0].style.fontSize = (_size + 6) + 'px'
                break;
        }
        WeixinJSBridge.invoke("setFontSizeCallback", {
            fontSize: 0
        })
    })
    //样式也控制禁止放大缩小
    var doc = document.documentElement;
    doc.style.webkitTextSizeAdjust = "none"
 
}, !1);
 
以上的思路就是因为是基于rem布局,所有单位是rem,调整文字大小后只是修改fontSize的值,默认的放大缩小功能还是需要禁止掉的. 有帮到朋友解决问题的麻烦点个赞或者评论回复一下,谢谢
 
 
 
 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM