h5 禁止微信内置浏览器调整字体大小

因为h5项目,需要将页面通过微信分享出去,用户可以在微信中通过链接点入查看页面,会出现一些字体大小改变的问题,所以:

android 需要重写事件

wxFont.js文件

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

在main.js中引入

require('@/libs/wxFont.js')

IOS重写样式
在app.vue的style样式中:

body {
  /* IOS禁止微信调整字体大小 */
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
  -moz-text-size-adjust: 100% !important;
}
在HTML5中,字体在不同设备和浏览器上可能会显示不一致。特别是在手机微信上,由于其内置浏览器的特殊性,字体显示可能有所不同。为了解决这个问题,你可以采取以下措施: 1. 使用通用字体:选择一种通用的字体作为备选,以确保在不同设备上都能正常显示。常用的通用字体包括"Arial"、"Helvetica"、"Verdana"、"Tahoma"等。例如: ```css body { font-family: Arial, sans-serif; } ``` 2. 使用Web字体:使用Web字体(也称为自定义字体)可以确保在不同设备上显示一致。你可以从在线字体库(如Google Fonts、Adobe Fonts)中选择合适的字体,并通过CSS将其引入到你的网页中。例如: ```css @import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap'); body { font-family: 'Roboto', sans-serif; } ``` 3. 指定字体大小:不同设备和浏览器的默认字体大小可能有所不同。为了保持一致性,你可以明确指定所使用字体的大小。例如: ```css body { font-size: 16px; } ``` 4. 避免使用绝对单位:尽量避免在字体大小设置中使用绝对单位(如px),而是使用相对单位(如em、rem)。这样可以使字体大小根据设备和浏览器的默认设置进行适应。 ```css body { font-size: 1em; } ``` 通过以上方法,你可以尽量保证字体在不同设备和浏览器上的一致性显示。记得测试你的页面在各种设备和浏览器上的显示效果,以确保字体看起来一致且符合预期。 希望这些方法能帮助到你!如果有任何疑问,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值