Safari ancres sur des liens ne fonctionne pas
Mon ancre html est comme suit.
<a name="template-8"/>
<h4 class="template" id="template-8">A title</h4>
Autant que je sache, le navigateur doit passer à l'élément avec un nom ou un attribut id.
Quand je tape dans l'url http://my.site.com/templates#template-8 safari saute en bas de la page comme prévu.
Toutefois, lorsque la liaison ci-dessous le point d'ancrage ne fait rien. Chrome, Opera, IE7 et Firefox, tout fonctionne.
<a href="http://my.site.com/templates#template-8">A link</a>
Safari est la version 5.0, cela pourrait être une safari bug?
Vous devez vous connecter pour publier un commentaire.
Le problème est que j'avais une redirection en-tête de la page, j'ai été en les reliant à.
Opera, IE, Chrome, Firefox va porter sur l'ancrage de la nouvelle page. Cependant safari perd le point d'ancrage sur la redirection.
Si vous rencontrez des problèmes avec safari ancres de désactiver toutes les redirections.
Pour moi, j'ai simplement eu à changer
à
Je viens de tomber sur le même problème et trouvé votre post, alors que la recherche - évidemment, vous l'avez résolu ce depuis qu'il était de retour en 2010 et mais pensé que je pourrais poster ce que j'ai trouvé dans le cas où quelqu'un d'autre le trouve. 🙂
Je suis en utilisant htaccess pour rediriger mon url à partir de mydomaincom/index.php pour mydomaincom/et a constaté que ma nav ne fonctionne pas dans Safari, depuis ma href adresses où l'indice.php#valeur et Safari v5 ne portent pas sur l'ancrage des liens.
Plutôt que d'éteindre mon rediriger j'ai juste changé l'url de point de mydomaincom/#valeur. Non seulement ce grand travail pour tous les navigateurs, mais il a également fait ma page plus rapide (pas encore sûr de savoir comment, mais recherche sur ce maintenant :))
Il y a deux questions que je vois, qui ne sont pas la cause (puisque vous avez trouvé le problème, déjà), mais probablement n'aide pas:
<a>
tag. Vous ne pouvez pas l'auto-fermeture des balises qui sont censés être les balises de fin, il convient de:<a name="template-8"></a>
.name
etid
attributs partagent le même "espace de noms", de sorte que vous ne pouvez pas avoir la même valeur pour unname
etid
attribut. Tous les navigateurs du passé 10 ans de soutien des ancres sur les Id, de sorte que la ferraille inutile balise de lien.Il n'a pas travaillé avec la proposition de solutions, il a travaillé pour moi de créer une redirection à l'aide de javascript de la manière suivante.
Je m'en remets ici au cas où quelqu'un vous sert dans l'avenir.
De fixer une balise d'ancrage dans Safari. Je procède de cette façon :
Et sur mon fichier css :
L'important, c'est pour une raison quelconque, parfois Safari a besoin de voir votre lien comme un bloc, et il peut être utile si vous créez une liste, avec quelques liens à l'intérieur.
Exemple :
Fonctionne pour Safari 6+