webview 問題小記

2021-10-06 17:51:26 字數 817 閱讀 5332

在有些 android 手機上,瀏覽器或 webview 的預設字型是隨著系統設定的字型改變的。

這樣就會導致預設字型大於或小於 16px。 直接表現為:

html的font-size設定為40px 但 1rem != 40px , 1rem = 40px*(defaultfontsize / 16)

計算defaultfontsize的方法:

const d = window.document.createelement('div');

d.style.width = '1rem';

d.style.display = 'none';

const head = window.document.getelementsbytagname('head')[0];

const defaultfontsize = parsefloat(window.getcomputedstyle(d, null).getpropertyvalue('width')) || 16;

⚠️: 不止是設定系統字型會造成這個現象,有個三星手機沒有設定系統字型,1rem = 17.6px,還不知道是什麼導致的

.txt::before 

----------------------------

.txt

----------------------------

hot 熱門

⚠️ :有遇見過一種方案不好用,偽元素+transform+normal好用了

沒有找到原因,解決方案是給body乙個高度 height:100vh

遇到的webview的問題

settings.setusewideviewport true settings.setloadwithoverviewmode true 用來適配手機大小,有些還是不行,加上這個屬性暫時解決了 settings.setlayoutalgorithm websettings.layoutalgor...

關於webview儲存cookie問題

問題描述 最近專案上需要使用webview載入乙個郵件功能,登陸時候會獲取乙個郵件登陸的位址,第一次開啟沒有問題,第二次開啟就提示 cookie not matched 開始採取的措施是每次開啟url時儲存cookie,測試時發現並沒有生效,且是概率性的 在oncreate裡初始化相關引數 獲取co...

記錄點webview的問題

公司專案需要接入阿里滑動驗證碼 專案文件 android webview 接入伺服器靜態網頁片段 我的是nestedscrollview 裡面放webview 需要重寫webview的攔截方法 不然滑動體驗特別差 或者設定不攔截橫向滑動 override public boolean dispatc...