IOS解决方案:(iOS上需要调整 webview 的字体大小时,是通过给 body 设置 -webkit-text-size-adjust 属性实现的)

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

  

Android解决方案:(Android上是对所有字体数值进行放大,所以要通过REM来实现)

(function(){
    var $dom = document.createElement('div');
    $dom.style = 'font-size:10px;';
    document.body.appendChild($dom);
    // 计算出放大后的字体
    var scaledFontSize = parseInt(window.getComputedStyle($dom, null).getPropertyValue('font-size'));
    document.body.removeChild($dom);
    // 计算原字体和放大后字体的比例
    var scaleFactor = 10 / scaledFontSize;

    // 取html元素的字体大小
    // 注意,这个大小也经过缩放了
    // 所以下方计算的时候 *scaledFontSize是原来的html字体大小
    // 再次 *scaledFontSize才是我们要设置的大小
    var originRootFontSize = parseInt(window.getComputedStyle(document.documentElement, null).getPropertyValue('font-size'));
    document.documentElement.style.fontSize = originRootFontSize * scaleFactor * scaleFactor + 'px';
})();

链接:https://juejin.im/post/59f678d7f265da43333dabb7

  

 

posted on 2017-12-27 16:03  Facker  阅读(230)  评论(0编辑  收藏  举报