Определить увеличение в Firefox - PullRequest
12 голосов
/ 14 февраля 2011

Я хочу определить, был ли браузер увеличен или уменьшен (на самом деле не важно знать значение, но я предполагаю, что его нужно будет найти в любом случае в процессе принятия решения). Я прочитал много других сообщений SO по этой теме, но ни одно из приведенных решений не работает на FF (хотя есть решение IE7 / 8 и Chrome).

О, и я не могу использовать вспышку, поэтому решение о вспышке не может быть и речи.

Редактировать: И я должен быть в состоянии обнаружить это при начальной загрузке страницы

Ответы [ 5 ]

7 голосов
/ 12 февраля 2014

В современных версиях FireFox вы можете выполнять следующие действия:

DPR = window.devicePixelRatio;
if ( DPR <= 0.999 || DPR >= 1.001 ){
   // User has zoomed in or zoomed out
}
2 голосов
/ 12 мая 2011

Если под увеличением вы подразумеваете, что пользователь нажал ctrl / cmd + [plus], а не преобразование css, вы можете определить вычисленный размер шрифта. Только что проверил в FF 4.0.1 / Mac и у меня все заработало. Для определения вычисленного размера шрифта я использовал код из этого вопроса: Получить вычисленный размер шрифта для элемента DOM в JS .

Значение изменилось после увеличения. Вам нужно знать, каким должен быть размер шрифта определенного элемента (как установлено в css), и сравнить его с тем, что есть на самом деле.

1 голос
/ 09 октября 2011

Предлагаю вам посмотреть на этот общий вопрос . И, возможно, закройте свой собственный как дубликат (не голосуйте, чтобы сделать это самостоятельно, поскольку это не "точный дубликат".

0 голосов
/ 09 мая 2011

Возможно, вместо определения увеличения вы могли бы обнаружить ошибку.

Например, если ваш макет ожидает, что смещение элементов будет 100,200, а запрос показывает, что оно равно 300,450, вы поймете, что оно неверно.поместите, и вы сможете применить исправление / обходной путь.

Это дает дополнительное преимущество, заключающееся в том, что если проблема с масштабированием будет исправлена ​​в следующей версии браузера, вы не будете применять свое исправление без необходимости или неправильно.

0 голосов
/ 22 апреля 2011

Вы пытались определить разрешение, которое может помочь вам определить масштаб.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...