!(function () { var docElem = document.documentElement, metaElem = document.querySelector('meta[name="viewport"]'), dpr = window.devicePixelRatio || 1, // 灏嗛〉闈㈠垎涓?0鍧 blocks = 10, // 闇€瑕侀檺鍒剁殑鏈€灏忓搴 defaultMinWidth = 300, // 闇€瑕侀檺鍒剁殑鏈€澶у搴 defaultMaxWidth = 640, // 璁$畻鐨勫熀鍑嗗€ calcMaxWidth = 9999999; if (!metaElem) { metaElem = initMetaViewport(); } if (metaElem.getAttribute('data-content-max') !== null) { calcMaxWidth = defaultMaxWidth; } // 纭繚meta[name="viewport"]瀛樺湪 function initMetaViewport() { var meta = document.createElement('meta'); meta.setAttribute('name', 'viewport'); meta.setAttribute('content', 'width=device-width,initial-scale=1,user-scalable=no'); document.head.appendChild(meta); return meta; } // 澶ч儴鍒哾pr涓?浠ヤ笅鐨勫畨鍗撴満鍨嬩笉璇嗗埆scale锛岄渶璁剧疆涓嶇缉鏀 if (navigator.appVersion.match(/android/gi) && dpr < 2) { dpr = 1; console.log(dpr); } setScale(dpr); // 浼佷笟QQ璁剧疆浜唖cale鍚庯紝涓嶈兘瀹屽叏璇嗗埆scale锛堟鏃禼lientWidth鏈敹鍒扮缉鏀剧殑褰卞搷鑰岀炕鍊嶏級锛岄渶璁剧疆涓嶇缉鏀 if (navigator.appVersion.match(/qq\//gi) && docElem.clientWidth <= 360) { dpr = 1; setScale(dpr); } docElem.setAttribute('data-dpr', dpr); // 璁剧疆缂╂斁 function setScale(dpr) { var sale = (1 / dpr); //$('.log').append('缂╂斁澶у皬=>' + sale + '
'); console.log(sale); metaElem.setAttribute('content', 'initial-scale=' + sale + ',maximum-scale=' + sale + ',minimum-scale=' + sale + ',user-scalable=no'); } // 璁剧疆docElem瀛椾綋澶у皬 function setFontSize() { //setScale(dpr); var clientWidth = docElem.clientWidth; console.log(clientWidth); $('.log').append('榛樿瀹藉害=>' + clientWidth + '
'); clientWidth = Math.max(clientWidth, defaultMinWidth * dpr); $('.log').append('dpr瀹藉害=>' + clientWidth + '
'); // 璋冩暣璁$畻鍩哄噯鍊 if (calcMaxWidth === defaultMaxWidth) { clientWidth = Math.min(clientWidth, defaultMaxWidth * dpr); } $('.log').append('鏈€缁堝搴?>' + clientWidth + '
'); var fontsize = clientWidth / blocks + 'px'; $('.log').append('瀛椾綋澶у皬=>' + fontsize + '
'); $('.log').append('瀛椾綋澶у皬=>' + metaElem.getAttribute('content') + '
'); console.log(clientWidth); docElem.style.fontSize = fontsize; } setFontSize(); if (navigator.appVersion.match(/uc\//gi)) { $(document).ready(function () { setScale(dpr); }); } window.addEventListener(window.orientationchange ? 'orientationchange' : 'resize', setFontSize, false); })();