2010-08-25 3 views
1

J'ai essayé d'utiliser windows.location.hash = "test.asp # page # section13" et dans tous les navigateurs cela fonctionne bien mais dans IE6 le lien dans l'URI est remplacé par test. asp # pagesection13.Plus d'une balise d'ancrage dans IE6 ne fonctionnait pas

Il semble donc que IE6 ne supporte pas plusieurs ancres. En tout cas (sauf réécrire tout)?

vôtre

Jerry

Répondre

1

Il n'y a pas vraiment une chose telle que « plusieurs points d'ancrage » bien que dans les navigateurs modernes que vous pouvez utiliser toutes sortes de personnages dans un point d'ancrage (y compris #) alors que dans IE6 vous ne pouvez pas . Si vous ne voulez pas réécrire vous pouvez essayer quelque chose comme #ie.foo.bar au lieu de #foo#bar lorsque le visiteur utilise IE6, le détecter de l'autre côté et faire défiler l'élément vers le haut via javascript. (Ceci suppose bien sûr que document.getElementById('foo#bar') mieux, ce que je n'ai pas testé.)

+0

Merci, s'il n'y a pas plusieurs navigateurs que c'était clairement mon erreur et que je réécrivais et faisais "/ "au lieu de la deuxième" # ". Bien que tous les nouveaux navigateurs supportent une telle chose si elle n'est pas correctement par spec, je ne peux pas vraiment blâmer IE6 (cette fois au moins) ;-) – Jerry2

+1

La spécification HTML 4.01 [états] (http://www.w3.org/ TR/html401/types.html # type-name) que les jetons ID et NAME doivent commencer par une lettre ([A-Za-z]) et peuvent être suivis par n'importe quel nombre de lettres, chiffres ([0-9]) , hyphens ("-"), underscores ("_"), deux-points (":") et periods (".") * (bien que HTML5 lève cette restriction, je pense) donc IE n'est pas faux ici. – Tgr

Questions connexes