@livelybone/rem-init
Version:
rem, pixel, viewport, for adapting various interfaces
10 lines (8 loc) • 1.78 kB
JavaScript
/**
* Bundle of @livelybone/rem-init
* Generated: 2020-01-19
* Version: 3.3.0
* License: MIT
* Author: livelybone(2631541504@qq.com)
*/
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.RemInit=t()}(this,function(){"use strict";function l(e,t){var i="width=device-width, initial-scale="+e+", minimum-scale="+e;return t.pageScalable?t.pageScaleMaxFactor?i+", maximum-scale="+Math.max(+t.pageScaleMaxFactor||0,1)*e:i:i+", maximum-scale="+e+", user-scalable=no"}return function(e){e="object"==typeof e?e:{};var t=window.isMobile||/Android|webOS|iPhone|iPod|iPad|BlackBerry|Windows Phone/i.test(navigator.userAgent);"isMobile"in window||(window.isMobile=t);var i,n=e.pageNoScale,o=!t||n?1:window.devicePixelRatio||1;document.documentElement.style.fontSize=625*o+"%",window.rootSize={value:100*o,unit:"px/rem"},window.rootSize.rem2px=function(e){var t=parseFloat(e)*this.value;return"string"==typeof e&&e.match(/rem$/)&&(t+="px"),t},window.rootSize.px2rem=function(e){var t=parseFloat(e)/this.value;return"string"==typeof e&&e.match(/px$/)&&(t+="rem"),t};var a=e.pageScaleMiddleware;i=l(n||!a?1/o:a(o,t),e);var r,d=(r=Array.prototype.filter.call(document.getElementsByTagName("meta"),function(e){return"viewport"===e.getAttribute("name")}))[r.length-1];d||((d=document.createElement("meta")).setAttribute("name","viewport"),document.head.appendChild(d)),d.setAttribute("content",i);var m="rem-init-injected-style",c=document.getElementById(m);c||((c=document.createElement("style")).setAttribute("id",m),c.setAttribute("type","text/css"),document.head.appendChild(c)),c.innerText="*{max-height: 1000000rem} body{-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;}"}});