zoukankan      html  css  js  c++  java
  • 在微信浏览器字体被调大导致页面错乱的解决办法

    iOS的解决方案是覆盖掉微信的样式:

    body { /* IOS禁止微信调整字体大小 */
        -webkit-text-size-adjust: 100% !important;
    }

    安卓的解决方案是通过 WeixinJSBridge 对象将网页的字体大小设置为默认大小,并且重写设置字体大小的方法,让用户不能在该网页下设置字体大小:

         (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 }); }); } })();
    (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 });
        });
    }
    })();

  • 相关阅读:
    android 如何添加第3方lib库到kernel中
    如何搭建modem编译环境
    /dev、/sys/dev 和/sys/devices 和udev的关系
    Makefile的obj-y 和 obj-m
    MTK Android添加驱动模块
    使用 /sys 文件系统访问 Linux 内核
    JNI设置C++与java的结合(2)
    android 常用方法集合
    操作系统(科普章节)
    前端面试之前要准备的那些事
  • 原文地址:https://www.cnblogs.com/zishan/p/9184094.html
Copyright © 2011-2022 走看看