Масштаб страницы
Можно ли узнать текущий масштаб страницы ?
Источник: Stack Overflow на русском
Можно ли узнать текущий масштаб страницы ?
Текущий масштаб страницы можно узнать с помощью devicePixelRatio
. Вот так:
function getPageScale() {
return Math.round(window.devicePixelRatio * 100)
}
let pageScale = getPageScale()
console.log(pageScale)
Если вы хотите узнать точное значение, просто уберите Math.round
и его скобки соответственно. Сам devicePixelRatio
, если исходить из MDN, devicePixelRatio
является соотношением разрешения дисплея текущего устройства в физических пикселях к разрешению в логических (CSS) пикселях. Если немного порыскать в интернете, то можно себе сделать вот такой вот способ для IE7+:
console.log(getPageScale())
function getPageScale() {
if(window.devicePixelRatio) {
return roundify(window.devicePixelRatio)
}
return getPageScaleIE()
}
function getPageScaleIE() {
if (window.screen.systemXDPI === void 0) {
return getPageScaleIE7()
}
return roundify(window.screen.deviceXDPI / window.screen.logicalXDPI)
}
function getPageScaleIE7() {
var node = document.body
if(node.getBoundingClientRect) {
var rect = node.getBoundingClientRect()
var physicalWidth = rect.right - rect.left
var logicalWidth = node.offsetWidth
return roundify(physicalWidth / logicalWidth)
}
return 100
}
function roundify() {
return Math.round(arguments[0] * 100)
}
Источники:
Скорее так:
console.log(outerWidth / innerWidth * 100)
А devicePixelRatio
, это экран.