"use strict"; define(function (require, exports, module) { function handle(e) { const ctx = require("../../common/ctx"); let historyScreenW = ctx.screenWidth; let curScreenW = ctx.getScreenWidth(); if (historyScreenW === curScreenW) { return } //调整 refreshEditFrontSize() refreshRootFrontSize(); //更新 ctx.screenWidth = ctx.getScreenWidth(); ctx.screenHeight = ctx.getScreenHeight(); } /** * 刷新跟节点 front-size * @constructor */ function refreshRootFrontSize() { const ctx = require("../../common/ctx"); let curDoc = document.documentElement;//当前文档的 root 元素 let curClientW = ctx.getScreenWidth(); if (!curClientW) { return } let designWidth = ctx.designWith; //set 1rem = viewWidth/10 (支持响应式) let nowFrontSize = ((curClientW / designWidth) / 10) + 'px'; curDoc.style.fontSize = nowFrontSize; console.log("curClientW :", curClientW, "designWidth: ", designWidth, "-> ", nowFrontSize); let testDiv = document.getElementById("testDevice"); testDiv.innerText += "\nnowFrontSize: " + nowFrontSize; // testDiv.innerText = testDiv.innerText + // // "\n navigator_userAgent :" + navigator.userAgent.toLocaleLowerCase() + // "\n isMobile :" + /mobi|android|iphone|ipad|ipod/i.test(navigator.userAgent.toLocaleLowerCase()) + // "\n isIOS :" + /iphone|ipad|ipod/.test(window.navigator.userAgent.toLocaleLowerCase()) + // "\n isAndroid :" + /android/.test(window.navigator.userAgent.toLocaleLowerCase()) + // "\n window.width :" + window.innerWidth + // "\n curClientW :" + curClientW + // " \n designWidth: " + designWidth + // "\n 1rem = " + nowFrontSize; } function refreshEditFrontSize() { const ctx = require("../../common/ctx"); let curClientW = ctx.getScreenWidth(); if (!curClientW) { return } let dpr = window.devicePixelRatio || 1;//当前设置下 物理像素和虚拟像素的比值 if (!dpr) { //devicePixelRatio这个属性是可以获取到设备的dpr let devicePixelRatio = win?.devicePixelRatio; //判断dpr是否为整数 let isRegularDpr = devicePixelRatio.toString().match(/^[1-9]\d*$/g) if (isRegularDpr) { // 对于是整数的dpr,对dpr进行操作 if (devicePixelRatio >= 3 && (!dpr || dpr >= 3)) { dpr = 3; } else if (devicePixelRatio >= 2 && (!dpr || dpr >= 2)) { dpr = 2; } else { dpr = 1; } } else { // 其他设备下,仍旧使用1倍的方案 dpr = 1; } } let myEditFrontSize = document.getElementById("myEdit_main"); // if (document.documentElement.clientWidth <= 720) { // myEditFrontSize.style.fontSize = (window.myEdit.ctx.editFrontSize + 6) + 'px'; // } else { // myEditFrontSize.style.fontSize = window.myEdit.ctx.editFrontSize * dpr + 'px'; // } // myEditFrontSize.style.fontSize = window.myEdit.ctx.editFrontSize * dpr + 'px'; if (ctx.isTablet) { myEditFrontSize.style.fontSize = ctx.editFrontSize * dpr + 'px'; } else { myEditFrontSize.style.fontSize = ctx.editFrontSize + 'px'; } // console.log("myEditFrontSize: ", myEditFrontSize.style.fontSize); let testDiv = document.getElementById("testDevice"); testDiv.innerText = "\ndpr: " + dpr + "\nmyEditFrontSize: " + myEditFrontSize.style.fontSize; } //导出 exports.handle = handle; exports.refreshEditFrontSize = refreshEditFrontSize; });