Андрей Федоров: не в этом дело. Свою задачу я решил так: jsfiddle.net/hcoqfnr3/8/
Просматривая jsfiddle с iPhone - код работает нормально.
Помещаю этот же самый код на html-страницу своего сайта - с айфона работает нормально.
Помещаю этот же код в iframe-приложение - масштабирования не происходит.
Как я уже писал выше, это происходит от того, что родительский элемент, например, 360px и масштабируемый div только на iPhone, только в моём приложении не может выйти за его пределы. Потому я теперь увеличиваю родительский элемент до 610px, а вместе с ним у меня и div масштабируется.
В общем, дело было не в zoom, а конкретно в поведении iPhone в конкретном iframe-приложении.
Андрей Федоров: нет, я делаю нормально. Дело в том, что это фрагмент кода из iframe-приложения. Если я делаю подобное масштабирование на своём сайте, то айфон нормально масштабирует, но этот же код в приложении не масштабирует.
Андрей Федоров: вот так получается, что на айфонах масштабирование увеличивает window, а изменение размеров window масштабирует div. Замкнутый круг. Я изменяю теперь ширину , вместе с ним масштабируется и вложенный div.
Измеряю на js, потому что все алгоритмы на js. Я же не буду на css делать подобные решения.
aarty20: не весь сайт, а отдельную страничку. Вот вы открываете jsfiddle на телефоне - он масштабируется. Изменяете масштаб -- он вылезает за вьюпорт. У меня такая же задача, но не для всего контента, а для одного дива, т.к. кроме него будут элементы управления, которые масштабировать не надо.
aarty20: я подгружаю html-код сторонней страницы в div и мне нужно представить её "на смартфоне, как на ПК". Т.е. вписать сначала в размеры экрана, а потом дать пользователю её масштабировать. Вряд ли тут есть решения, кроме масштабирования.
И за разъяснение спасибо.
Я буду переписывать код начисто и уйду от таких своих решений ) Просто сейчас мне нужна "бета" и ради неё я подтыкаю костыли.