Webkit iPhone App: Как динамически изменить пользовательский зум (или масштаб, pich и зум) в окне просмотра? - PullRequest
4 голосов
/ 22 апреля 2010

Я использую JQTouch для приложения iPhone. JQtouch по умолчанию отключает возможность зажимать и масштабировать страницу. Для одной страницы (содержащей большое изображение) мне нужно включить функцию увеличения и увеличения. Это легко:

var viewport = $("head meta[name=viewport]");
viewport.attr('content', 'width=320, initial-scale=1, maximum-scale=10.0, minimum-scale=1, user-scalable=1');

Но после того, как пользователь поигрался с пинчом и зумом, мне нужно динамически сбросить зум (масштаб) к значению по умолчанию. Я попытался сбросить окно просмотра:

viewport.attr('content', 'width=320, initial-scale=1.0, maximum-scale=1.0, user-scalable=0;');

После вызова приведенного выше кода, масштабирование больше невозможно (из-за user-scalable = 0;), но это не меняет текущий масштаб на значение по умолчанию.

Я ищу что-то вроде setScale (1) или для изменения атрибута, например current-scale = 1

Есть идеи?

1 Ответ

3 голосов
/ 28 мая 2010

Единственный способ сбросить пользовательское масштабирование - перезагрузить страницу:

window.location.reload();

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

http://tlrobinson.net/projects/iphone-light-table/

Этот код легко интегрировать в ваш проект.просто откройте исходный код HTML, скопируйте Javascript и измените функцию init () в соответствии с вашими потребностями.

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