Событие просмотра страницы iframe для iOS не запущено - PullRequest
1 голос
/ 14 февраля 2012

Мне кажется, что я пытаюсь повторно создать экземпляр любого прослушивателя событий J / S в iframe после того, как страница была перемещена от и затем обратно к. Похоже, что это не работает только в iOS (iPhone 5.x) и отлично работает в других WebKit (например, Linux Chrome)

Я опубликовал код на http://manticore.2y.net/fvt/tt.html.

Документ имеет очень простую структуру, и в нем не задействованы рамки J / S.

Основной документ - это фактически пустая оболочка, которая загружает iframe, содержимое iframe имеет javascript. Образец javascript связывает прослушиватель событий с изображением, а в тексте ниже также имеется прослушиватель событий, указанный с помощью атрибута tag. Теперь, когда по ссылке нажимают на страницу, отображается другая страница (ссылка является целевой _top. Для _self все работает нормально, т.е. обычно запускается страница-шоу). Когда пользователь переходит на предыдущую страницу, все события документа внутри iframe выглядят мертвыми, и в это время событие pagehow не доставляется.

Так что, если вы откроете ссылку выше на iPhone и нажмете на изображение, вы увидите всплывающее окно. Пока вы переходите по ссылке внизу и возвращаетесь на исходную страницу, щелчки по изображению или тексту не будут выполнять никаких операций j / s.

Есть ли решение этой проблемы? Особенно с учетом того, что в реальном мире я не буду контролировать основную страницу, а главная страница также будет находиться в другом домене. Единственное, что я обнаружил, это то, что, если я установлю интервал J / S, эта штука возобновит тиканье, когда я вернусь на страницу, и я могу использовать это вместе со слушателем для «выгрузки», чтобы восстановить слушатели (и в этом отношении, я гарантирую, что мой тайм-аут не сработает после того, как выгрузится прослушиватель, и до приостановки страницы).

...