安卓的解決方案是通過 WeixinJSBridge 對(duì)象將網(wǎng)頁(yè)的字體大小設(shè)置為默認(rèn)大小,并且重寫設(shè)置字體大小的方法,讓用戶不能在該網(wǎng)頁(yè)下設(shè)置字體大小:
/*
android禁止微信瀏覽器調(diào)整字體大小
這種方法會(huì)導(dǎo)致網(wǎng)頁(yè)延遲大約1S
*/
(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() {
// 設(shè)置網(wǎng)頁(yè)字體為默認(rèn)大小
WeixinJSBridge.invoke('setFontSizeCallback', {
'fontSize': 0
});
// 重寫設(shè)置網(wǎng)頁(yè)字體大小的事件
WeixinJSBridge.on('menu:setfont', function () {
WeixinJSBridge.invoke('setFontSizeCallback', {
'fontSize': 0
});
});
}
})();