2010-07-15 24 views
1

Hey hey, j'ai une page mobile qui ne fonctionne pas dans Safari - il fonctionne parfaitement dans les navigateurs de bureau, et sur Android et BlackBerry. J'ai une zone de fonctionnalités sur la page. Je veux éviter d'utiliser JS (comme certains navigateurs mobiles sont désactivés). Si possible, je veux juste utiliser HTML et CSS.iPhone Safari vs Iframe en utilisant des ancres

Je ne veux pas que la page défile pour les âges, donc j'utilise une iframe avec une série de divs qui ont des ancres; par exemple. . L'idée est que lorsque vous êtes dans ce cadre et cliquez sur un lien, vous êtes pris à la prochaine div dans l'iframe. Cependant, Safari fait défiler la page parente, et non l'iframe. De toute façon autour de cela?

J'ai une démo, mais apparemment je suis trop nouveau pour Stack Over flow pour poster un lien!

http, slash slash deux points, dot RLE me /frame/1.html

Merci pour votre aide!

Répondre

0

Je ne pense pas que vous puissiez le faire sans Javascript.

Pour éviter le défilement de la page entière, appelez la fonction event.preventDefault() pour tout événement TouchMove.

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

Si vous voulez faire défiler dans un élément, créez un conteneur <div> qui a une largeur et une hauteur fixe qui contient tout le contenu dans ce qui est plus grand que le conteneur. Le conteneur doit avoir les propriétés CSS overflow: none; ou overflow: hidden; afin que seul le contenu du conteneur soit affiché.