Поймать событие браузера "zoom" в JavaScript - PullRequest
146 голосов
/ 15 июня 2009

Можно ли с помощью JavaScript определить, когда пользователь изменяет масштаб страницы? Я просто хочу перехватить событие «zoom» и ответить на него (аналогично событию window.onresize).

Спасибо.

Ответы [ 12 ]

1 голос
/ 22 мая 2011

Вы также можете получить события изменения размера текста и коэффициент масштабирования, введя элемент div, содержащий как минимум неразрывный пробел (возможно, скрытый), и регулярно проверяя его высоту. Если высота изменяется, размер текста изменился (и вы знаете, сколько - это также срабатывает, кстати, если окно масштабируется в режиме полной страницы, и вы все равно получите правильный коэффициент масштабирования с той же высотой / коэффициент высоты).

0 голосов
/ 04 ноября 2013

Я отвечаю на 3-летнюю ссылку, но, думаю, вот более приемлемый ответ,

Создать файл .css как,

@media screen and (max-width: 1000px) 
{
       // things you want to trigger when the screen is zoomed
}

EG: -

@media screen and (max-width: 1000px) 
{
    .classname
    {
          font-size:10px;
    }
}

Приведенный выше код делает размер шрифта «10 пикселей» при увеличении экрана примерно до 125%. Вы можете проверить другой уровень масштабирования, изменив значение 1000px.

...