天天看點

微信H5 安卓ios禁止使用者調整字型大小

方法一:調用微信sdk

yarn add weixin-js-sdk

// main.js引入

import wx from 'weixin-js-sdk'

// App.vue

mounted () {
  this.getSignature()
},
methods: {
    async getSignature () {
      try {
        const res = await this.$http.get('/signature?url='+location.href.split('#')[0])
        if (res.data) {
          this.signatureParams = res.data
          const { appId, nonceStr, signature, timestamp } = this.signatureParams
          this.$wx.config({
            debug: false, // 開啟調試模式,調用的所有api的傳回值會在用戶端alert出來,若要檢視傳入的參數,可以在pc端打開,參數資訊會通過log打出,僅在pc端時才會列印。
            appId, // 必填,公衆号的唯一辨別
            timestamp, // 必填,生成簽名的時間戳
            nonceStr, // 必填,生成簽名的随機串
            signature,// 必填,簽名
            jsApiList:[] // 必填,需要使用的JS接口清單
          })
          this.$wx.ready(() => {
            this.$wx.invoke('setFontSizeCallback', {
              fontSize: '2'
            })
          })
          this.$wx.error(function(res) {
            console.log('config error', res.errMsg)
          })
        }
      } catch (e) {
        console.log('error getSignature', e)
        this.handleError()
      }
    }
}
           

 方法二:

// ios
<style rel="stylesheet/less" >
    body {
      -webkit-text-size-adjust: 100% !important;
      text-size-adjust: 100% !important;
      -moz-text-size-adjust: 100% !important;
    }
</style>

// 安卓禁止微信調整大小 index.html
<script type="text/javascript">
    (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' : 2 })
        // 重寫設定網頁字型大小的事件
        WeixinJSBridge.on('menu:setfont', function() {
          WeixinJSBridge.invoke('setFontSizeCallback', { 'fontSize' : 2 })
        })
      }
    })()
</script>