最近公司搞了一个活动H5页面,页面在微信浏览器中打开,但是发现如果用户修改了手机默认字体大小,页面上写的输入框就会错位,为了解决问题,想到了只要禁止微信浏览器调整字体大小就可以了,以下是具体方法
1.在head标签中增加
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
<meta name=”wap-font-scale” content=”no”>
2.安卓和ios手机通用js
<!-- 强制禁止用户修改微信客户端的字体大小---begin--- -->
<script>
(function() {
if (typeof WeixinJSBridge == "object" && typeof WeixinJSBridge.invoke == "function") {
handleFontSize();
} else {
if (document.addEventListener) {
document.addEventListener("WeixinJSBridgeReady", handleFontSize, false);
} else if (document.attachEvent) {
document.attachEvent("WeixinJSBridgeReady", handleFontSize);
document.attachEvent("onWeixinJSBridgeReady", handleFontSize); }
}
function handleFontSize() {
// 设置网页字体为默认大小
WeixinJSBridge.invoke('setFontSizeCallback', { 'fontSize' : 0 });
// 重写设置网页字体大小的事件
WeixinJSBridge.on('menu:setfont', function() {
WeixinJSBridge.invoke('setFontSizeCallback', { 'fontSize' : 0 });
});
}
})();
</script>
<!-- 强制禁止用户修改微信客户端的字体大小---end--- -->
3.针对ios手机调整样式
#body {
/* ios系统字体被手动调大优化 */
-webkit-text-size-adjust: 100% !important;
text-size-adjust: 100% !important;
-moz-text-size-adjust: 100% !important;
}