Масштаб страницы
Можно ли узнать текущий масштаб страницы ?
Ответы (2 шт):
Автор решения: natter
→ Ссылка
Скорее так:
console.log(outerWidth / innerWidth * 100)
А devicePixelRatio, это экран.
Автор решения: ΝNL993
→ Ссылка
Текущий масштаб страницы можно узнать с помощью 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)
}
Источники: