diff --git a/apps/common/main/lib/util/utils.js b/apps/common/main/lib/util/utils.js index ce019dd08..8a18386d4 100644 --- a/apps/common/main/lib/util/utils.js +++ b/apps/common/main/lib/util/utils.js @@ -105,51 +105,54 @@ Common.Utils = _.extend(new(function() { me = this, checkSize = function() { me.zoom = 1; - if (false) + if (isChrome && !isOpera && document && document.firstElementChild && document.body) { - // этот код - рабочий, но только если этот ифрейм открыт на весь размер браузера - // (window.outerWidth и window.innerWidth зависимы) - if (window.innerWidth > 300) + if (false) + { + // этот код - рабочий, но только если этот ифрейм открыт на весь размер браузера + // (window.outerWidth и window.innerWidth зависимы) + if (window.innerWidth > 300) + me.zoom = window.outerWidth / window.innerWidth; + + if (Math.abs(me.zoom - 1) < 0.1) + me.zoom = 1; + me.zoom = window.outerWidth / window.innerWidth; - if (Math.abs(me.zoom - 1) < 0.1) - me.zoom = 1; + var _devicePixelRatio = window.devicePixelRatio / me.zoom; - me.zoom = window.outerWidth / window.innerWidth; + // device pixel ratio: кратно 0.5 + _devicePixelRatio = (5 * (((2.5 + 10 * _devicePixelRatio) / 5) >> 0)) / 10; + me.zoom = window.devicePixelRatio / _devicePixelRatio; - var _devicePixelRatio = window.devicePixelRatio / me.zoom; - - // device pixel ratio: кратно 0.5 - _devicePixelRatio = (5 * (((2.5 + 10 * _devicePixelRatio) / 5) >> 0)) / 10; - me.zoom = window.devicePixelRatio / _devicePixelRatio; - - // chrome 54.x: zoom = "reset" - clear retina zoom (windows) - //document.firstElementChild.style.zoom = "reset"; - document.firstElementChild.style.zoom = 1.0 / me.zoom; - } - else - { - // делаем простую проверку - // считаем: 0 < window.devicePixelRatio < 2 => _devicePixelRatio = 1; zoom = window.devicePixelRatio / _devicePixelRatio; - // считаем: window.devicePixelRatio >= 2 => _devicePixelRatio = 2; zoom = window.devicePixelRatio / _devicePixelRatio; - if (window.devicePixelRatio > 0.1) - { - if (window.devicePixelRatio < 1.99) - { - var _devicePixelRatio = 1; - me.zoom = window.devicePixelRatio / _devicePixelRatio; - } - else - { - var _devicePixelRatio = 2; - me.zoom = window.devicePixelRatio / _devicePixelRatio; - } // chrome 54.x: zoom = "reset" - clear retina zoom (windows) //document.firstElementChild.style.zoom = "reset"; document.firstElementChild.style.zoom = 1.0 / me.zoom; } else - document.firstElementChild.style.zoom = "normal"; + { + // делаем простую проверку + // считаем: 0 < window.devicePixelRatio < 2 => _devicePixelRatio = 1; zoom = window.devicePixelRatio / _devicePixelRatio; + // считаем: window.devicePixelRatio >= 2 => _devicePixelRatio = 2; zoom = window.devicePixelRatio / _devicePixelRatio; + if (window.devicePixelRatio > 0.1) + { + if (window.devicePixelRatio < 1.99) + { + var _devicePixelRatio = 1; + me.zoom = window.devicePixelRatio / _devicePixelRatio; + } + else + { + var _devicePixelRatio = 2; + me.zoom = window.devicePixelRatio / _devicePixelRatio; + } + // chrome 54.x: zoom = "reset" - clear retina zoom (windows) + //document.firstElementChild.style.zoom = "reset"; + document.firstElementChild.style.zoom = 1.0 / me.zoom; + } + else + document.firstElementChild.style.zoom = "normal"; + } } me.innerWidth = window.innerWidth * me.zoom; me.innerHeight = window.innerHeight * me.zoom;