function initWxFont() {
const handleFontSize = () => {
console.log('执行 handleFontSize');
console.log('WeixinJSBridge?.invoke:', WeixinJSBridge?.invoke);
console.log('WeixinJSBridge?.on:', WeixinJSBridge?.on);
console.log('document.body.style.fontSize:', document.body.style.fontSize);
// 在微信网页中字体分为7级(fontSize),2为标准
WeixinJSBridge?.invoke?.('setFontSizeCallback', { fontSize: 2 });
WeixinJSBridge?.on?.('menu:setfont', function () {
WeixinJSBridge?.invoke?.('setFontSizeCallback', { fontSize: 2 });
});
};
try {
// 安卓 禁止用户自定义设置字体大小
// @ts-ignore
if (typeof WeixinJSBridge == 'object' && typeof WeixinJSBridge?.invoke == 'function') {
console.log('WeixinJSBridge对象存在');
handleFontSize();
} else {
if (document.addEventListener) {
console.log('WeixinJSBridge对象不存在,使用document.addEventListener');
document.addEventListener('WeixinJSBridgeReady', handleFontSize, false);
} else {
// @ts-ignore
if (document.attachEvent) {
console.log('WeixinJSBridge对象不存在,使用document.attachEvent');
// @ts-ignore
document.attachEvent('WeixinJSBridgeReady', handleFontSize);
// @ts-ignore
document.attachEvent('onWeixinJSBridgeReady', handleFontSize);
}
}
}
} catch (error) { }
// 强制设置字体大小
document.body.style.fontSize = '14px';
}
initWxFont();
环境ios,iframe子页面。使用vConsole打印WeixinJSBridge报undefined。
