1. 程式人生 > 其它 >微信H5頁面調整字型大小,網頁適配方式

微信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的值,預設的放大縮小功能還是需要禁止掉的