Android部分webview rem計算誤差記錄

開發(fā)webapp過程中 發(fā)現(xiàn)安卓某些機(jī)型 rem 計算有誤差 目前僅發(fā)現(xiàn) 三星s7 s8 等曲面屏手機(jī)存在該問題
下面記錄解決方案

document.documentElement.style.fontSize=document.documentElement.offsetWidth/7.5+"px";
var html = document.getElementsByTagName('html')[0];
var settedFs = parseInt(html.style.fontSize); 
var realFs = parseInt(window.getComputedStyle(html).fontSize);
var whileCount = 0;
        
        
while(true) {
    var realFs = parseInt(window.getComputedStyle(html).fontSize);
    var delta = realFs - settedFs;
    console.log(settedFs,realFs)
    if (Math.abs(delta) != 0) //不相等
    {
        html.setAttribute('style', 'font-size:'+settedFs *(settedFs/realFs) + 'px!important');
                //settedFs/realFs 計算比實際值小N倍  然后在原基礎(chǔ)上在放大N倍
    } else 
        break;
                
    if (whileCount++ > 100) //為了避免死循環(huán)
        break
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容