Ответ 1
Если размер входного шрифта составляет не менее 16 пикселей, масштаб не начнется с начала.
У меня есть веб-форма, которая использует jQuery для отправки поиска. Сама форма не запускает событие отправки, потому что я это поймаю и отбрасываю (все это является частью более крупной и сложной формы, и я использую прогрессивное усовершенствование для добавления этой функции).
На iPhone браузер автоматически приближается к моему поисковому вводу, как только он фокусируется. В событии key "enter" поиск выполняется с помощью javascript, и я размываю входной сигнал, который отклоняет клавиатуру iPhone на экране, но браузер остается увеличенным до области ввода.
Есть ли способ запрограммировать триггер снова вернуться к исходной области окна просмотра через javascript?
РЕДАКТИРОВАТЬ: нет никакой переадресации при выполнении поиска, которая обычно будет reset в окне просмотра при загрузке новой страницы - все происходит на одной странице здесь.
Если размер входного шрифта составляет не менее 16 пикселей, масштаб не начнется с начала.
Я успешно использовал следующее.
$('input, select, textarea').on('focus blur', function(event) {
$('meta[name=viewport]').attr('content', 'width=device-width,initial-scale=1,maximum-scale=' + (event.type == 'blur' ? 10 : 1));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<head>
<meta name="viewport" content="width=device-width,initial-scale=1" />
</head>
<body>
<input id="input" type="text" placeholder="Type here..." />
</body>
Вам нужно/хотите, чтобы люди вообще увеличивали масштаб? Если нет, установите этот метатег в голову?
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
Насколько мне известно, это будет; остановите проблему с масштабированием в первом случае.