天天看点

微信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>