Подтвердить что ты не робот

Обнаружение увеличения в Firefox

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

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

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

4b9b3361

Ответ 1

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

DPR = window.devicePixelRatio;
if ( DPR <= 0.999 || DPR >= 1.001 ){
   // User has zoomed in or zoomed out
}

Ответ 2

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

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

Ответ 3

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

Ответ 4

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

Ответ 5

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

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

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