iPhone Safari против Iframe с использованием якорей - PullRequest
1 голос
/ 15 июля 2010

Эй, эй, у меня есть мобильная страница, которая не работает в Safari - она ​​отлично работает в настольных браузерах, а также на Android и BlackBerry. У меня есть область функций на странице. Я хочу избегать использования JS (так как некоторые мобильные браузеры поставляются с ним отключенным). Если возможно, я хочу использовать только HTML и CSS.

Я не хочу, чтобы страница прокручивалась целую вечность, поэтому я использую iframe с серией элементов div с якорями; например. , Идея состоит в том, что когда вы находитесь в этом фрейме и щелкаете ссылку, вы переходите к следующему показанному div в iframe.

Однако Safari прокручивает родительскую страницу, а не iframe. Есть ли способ обойти это?

У меня есть демоверсия, но, видимо, я слишком новичок в Stack Over flow, чтобы опубликовать ссылку!

http, косая черта, rle dot me /frame/1.html

Спасибо за вашу помощь!

1 Ответ

0 голосов
/ 16 июля 2010

Я не думаю, что вы можете сделать это без какого-либо Javascript.

Чтобы избежать прокрутки всей страницы, вызывайте функцию event.preventDefault() для любого события touchMove.

<body ontouchmove="event.preventDefault();"><br> /* Whatever you have in your body */<br> </body>

Если вы хотите прокрутить внутри элемента, создайте контейнер <div>, который имеет фиксированную ширину и высоту, который содержит содержимое внутри него, которое больше контейнера. Контейнер должен иметь CSS-свойства overflow: none; или overflow: hidden;, чтобы отображался только контент внутри контейнера.

...