针对Android4.4以下版本,全部使用rem单位兼容方案,并在head标签内添加脚本重写html根字号的大小,1080p下为100px。并且针对受影响的公共组件写出兼容性代码。
<script type="text/javascript">
(function(doc, win) {
var basicWidth = 1080;
var minWidth = 360;
var htmlElement = doc.documentElement;
var dpr = parseInt(window.devicePixelRatio || 1, 10);
var recalc = function() {
var clientWidth = htmlElement.clientWidth || (basicWidth / 2);
window.rootFontSize = 100 * (clientWidth / basicWidth);
clientWidth = clientWidth < minWidth? minWidth : clientWidth;
htmlElement.style.fontSize = 100 * (clientWidth / basicWidth) + 'px';
htmlElement.setAttribute("data-dpi", dpr);
};
recalc();
if (!win.addEventListener) return;
win.addEventListener('resize', recalc, false);
})(document, window);
</script>