我想问下JS手机端根据不同分辨率字体大小重定义怎么写
reset.js布局 用于手机端不同分辨率字体大小自适应
! function(x) {
function w() {
var a = r.getBoundingClientRect().width;
a / v > 640 && (a = 640 * 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_x("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_x("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);
