淘宝手机屏幕尺寸判断改变字体大小的js:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
! function (x) {
     function  w() {         var  a = r.getBoundingClientRect().width;
         a / v > 540 && (a = 540 * v), x.rem = a / 16, r.style.fontSize = x.rem +  "px"
     }     var  v, u, t, s = x.document, r = s.documentElement, q = s.querySelector(‘meta[name= "viewport" ]‘), p = s.querySelector(‘meta[name= "flexible" ]‘);     if  (q) {
         console.warn( "将根据已有的meta标签来设置缩放比例" );         var  o = q.getAttribute( "content" ).match(/initial\-scale=([ "‘]?)([\d\.]+)\1?/);
         o && (u = parseFloat(o[2]), v = parseInt(1 / u))
     } else {        if (p) {            var o = p.getAttribute(" content ").match(/initial\-dpr=([" ‘]?)([\d\.]+)\1?/);
             o && (v = parseFloat(o[2]), u = parseFloat((1 / v).toFixed(2)))
         }
     }     if  (!v && !u) {         var  n = (x.navigator.appVersion.match(/android/gi), x.navigator.appVersion.match(/iphone/gi)), v = x.devicePixelRatio;
         v = n ? v >= 3 ? 3 : v >= 2 ? 2 : 1 : 1, u = 1 / v
     }     if  (r.setAttribute( "data-dpr" , v), !q) {         if  (q = s.createElement( "meta" ), q.setAttribute( "name" "viewport" ), q.setAttribute( "content" "initial-scale="  + u +  ", maximum-scale="  + u +  ", minimum-scale="  + u +  ", user-scalable=no" ), r.firstElementChild) {
             r.firstElementChild.appendChild(q)
         else  {             var  m = s.createElement( "div" );
             m.appendChild(q), s.write(m.innerHTML)
         }
     }
     x.dpr = v, x.addEventListener( "resize" function () {
         clearTimeout(t), t = setTimeout(w, 300)
     }, !1), x.addEventListener( "pageshow" function (b) {
         b.persisted && (clearTimeout(t), t = setTimeout(w, 300))
     }, !1),  "complete"  === s.readyState ? s.body.style.fontSize = 12 * v +  "px"  : s.addEventListener( "DOMContentLoaded" function () {
         s.body.style.fontSize = 12 * v +  "px"
     }, !1), w()
}(window);
本文转自  小旭依然  51CTO博客,原文链接:http://blog.51cto.com/xuyran/1787151
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值