解决微信调整字体大小导致页面样式混乱的问题
解决微信调整字体大小导致页面样式混乱的问题
解决微信调整字体大小导致页面样式混乱的问题
微信具有调整字体大小的功能,然而有时候调整字体大小会导致微信公众号内的H5页面样式混乱。
解决原理:阻止ios和安卓调整字体大小时候的事件。ios通过添加css属性,安卓通过微信属性去阻止。
注:添加后无法通过外部更改字体大小,根据项目需求运用。
ios系统:
1
2
3
body{
-webkit-text-size-adjust: 100% !important;
}
安卓系统:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
(function() {
if (typeof WeixinJSBridge == "object" && typeof WeixinJSBridge.invoke == "function") {
handleFontSize();
} else {
document.addEventListener("WeixinJSBridgeReady", handleFontSize, false);
}
function handleFontSize() {
// 设置网页字体为默认大小
WeixinJSBridge.invoke('setFontSizeCallback', { 'fontSize' : 0 });
// 重写设置网页字体大小的事件
WeixinJSBridge.on('menu:setfont', function() {
WeixinJSBridge.invoke('setFontSizeCallback', { 'fontSize' : 0 });
});
}
})();
注:安卓使用了微信的JS桥。
这样解决会出现的问题: 1、如果用户在标准情况下,打开页面。再调整字体大小,那么页面依旧正常。 2、如果用户先调整了字体大小,再打开页面,页面会变大,一秒之后恢复正常。 注:采用loading,可解决2的问题
本文由作者按照 CC BY 4.0 进行授权