1. 程式人生 > >禁止微信內置瀏覽器的字體縮放問題

禁止微信內置瀏覽器的字體縮放問題

一個 android tar 解決 undefine -c attach bsp lba

由於微信自帶字體放大功能,因此基於微信的頁面都可以通過微信進行字體放大,但是有些情況下這並不是我們想要的,因為很多移動端頁面的開發都是使用rem作為單位的,當使用微信進行字體放大是,會導致頁面的整體布局亂掉的情況出現,這對用戶體驗來說是極其不友好的,我們希望能夠禁止微信的字體放大功能,下面我通過查找資料找到的一些解決方法,至於移動端頁面是如何開發的及rem單位的特點,這裏不做贅述。

1.安卓手機禁止字體放大js代碼

  1. <span style="font-size:14px;">/*
  2. * 頁面加入這段代碼可使Android機器頁面不再受到用戶字體縮放強制改變大小
  3. * 但是會有一個1秒左右的延遲,期間可以考慮通過loading展示
  4. * 僅供參考
  5. */
  6. (function(){
  7. if (typeof(WeixinJSBridge) == "undefined") {
  8. document.addEventListener("WeixinJSBridgeReady", function (e) {
  9. setTimeout(function(){
  10. WeixinJSBridge.invoke(‘setFontSizeCallback‘,{"fontSize":0}, function(res) {
  11. // alert(JSON.stringify(res));
  12. });
  13. },0);
  14. });
  15. } else {
  16. setTimeout(function(){
  17. WeixinJSBridge.invoke(‘setFontSizeCallback‘,{"fontSize":0}, function(res) {
  18. // alert(JSON.stringify(res));
  19. });
  20. },0);
  21. }
  22. })();
  23. </span>
  24. 或者 方法二
  25. //微信內置瀏覽器字體縮放
    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});
    });
    }
  26. 2.iphone手機禁止字體放大,css代碼
    1. <span style="font-size:14px;"></span>
    2. <style type="text/css">
    3. body
    4. {
    5. -webkit-text-size-adjust: 100% !important;
    6. text-size-adjust: 100% !important;
    7. -moz-text-size-adjust: 100% !important;
    8. }
    9. </style>

禁止微信內置瀏覽器的字體縮放問題