Как я могу использовать JavaScript для установки уровня масштабирования на мобильном сафари?
Как я могу использовать JavaScript для установки уровня масштабирования на мобильном сафари?
Ответы
Ответ 1
[ ОБНОВЛЕНО] Кажется, что вы хотите захватить двойные краны в мобильном Safari. Вы можете сделать это, обработав событие touchend
или используя доступную инфраструктуру, например, представленную в этом сайте.
Взгляните на измененное демо: http://jsbin.com/atayo4/20
<p id="tap">double tap to zoom</p>
<input id="zoomWidth" type="text" value="400" />
<p id="feedback"></p>
$(document).ready(function(){
$('#tap').doubletap(
// double tap handler
function(e) {
$('#feedback').addClass('red').html('double tap! Zoom width: ' + $('#zoomWidth').val());
var zoomWidth = $('#zoomWidth').val();
// zoom with the new width
$('meta[name="viewport"]').attr('content', 'width=' + zoomWidth + ', user-scalable:no');
$('#zoomWidth').val(parseInt(zoomWidth, 10) - 25);
},
// single tap handler
function(e) {
$('#feedback').removeClass('red').html('single tap! Zoom width: ' + $('#zoomWidth').val());
},
// double tap delay, default 500
400
);
});
Ответ 2
Насколько я знаю, вы можете изменить коэффициент масштабирования на размер текста, изменив стиль "-webkit-text-size-adjust" элемента body.
Посмотрите эту ссылку для получения дополнительной информации:
http://developer.apple.com/library/safari/#documentation/AppleApplications/Reference/SafariCSSRef/Articles/StandardCSSProperties.html%23//apple_ref/doc/uid/TP30001266--webkit-text-size-adjust
Ответ 3
Я пробовал манипулировать минимальными/максимальными масштабами и шириной в метатеге с помощью JavaScript безрезультатно. Вместо того, чтобы пытаться установить уровень масштабирования с помощью кода (я думаю, что это невозможно), я собираюсь создать маленькие невидимые прямоугольники поверх моего относительно большого изображения. Это позволит пользователям увеличивать (и выходить) с помощью нативного двойного касания на интересных участках изображения.
Ответ 4
Попробуйте следующее:
<meta name="viewport" content="width=device-width; initial-scale=1.0; user-scalable:no;">
Источник