onclick=“location.href='link.html'” ne charge pas la page dans Safari

Je ne peux pas obtenir onclick="location.href='link.html'" pour charger une nouvelle page dans Safari (5.0.4).

Je suis la construction d'un drop-down menu de navigation à l'aide de la <select> et <option> des balises HTML. Je suis l'aide de la onclick gestionnaire de chargement d'une nouvelle page, à la suite d'une option de menu est cliqué, mais rien ne se passe dans Safari. (J'ai testé avec succès dans FF & Opéra.) Je sais qu'il y a beaucoup de onclick bugs dans Safari, mais je n'ai pas trouvé de solutions à ce problème spécifique.

Vous pouvez voir un exemple de mon code ci-dessous:

<select>
    <option onclick="location.href='unit_01.htm'">Unit 1</option>
</select>

et

<select>
    <option onclick="location.href='#5.2'">Bookmark 2</option>
</select>

Je n'ai pas (et préfèrent ne pas) faire du javascript intégré dans la section head de mon code HTML. Je suis en train d'élaborer la page pour quelqu'un qui ne sait pas comment utiliser javascript--de sorte que le plus simple, le code, le mieux).


Ce code JavaScript prendre l'option de menu cliquable dans tous les navigateurs? (Veuillez vérifier la compatibilité avec IE.)

  • Si vous êtes à l'élaboration de la page pour quelqu'un qui ne connais pas le JavaScript, il est préférable de le garder hors de la voie de l'HTML par exemple: dans une autre .js fichier?
  • Je ne suis pas répondre à la question parce que je suis en désaccord avec la prémisse. Sémantiquement, un menu de navigation est une liste de liens, pas une option qui est choisie, et j'en œuvre déroulant multi-niveau de menus <ul><li><a href="...">Item</a></li> etc. La plupart de navigation tutoriels que j'ai vu également utiliser cette stratégie. Le mien aussi travailler en pur CSS, sans même avoir besoin de JavaScript, bien que je l'enrichir davantage avec JS.
  • P: C'est bien d'être en désaccord, mais pourquoi ne pas poster votre code comme une alternative pour remédier au problème?
  • parce que j'ai été châtié et downvoted pour "ne pas répondre à la question qui a été posée" de trop nombreuses fois. Cependant, il ne fait pas de mal de point à la classique Suckerfish Dropdowns article qui utilise <ul> <li> et pur CSS, depuis le chemin du retour en 2003.
  • P: je ne vois Personnellement la promotion de bonnes pratiques de la part-et-parcelle de contribuer à la communauté - c'est une honte de ne pas tout le monde le voit de cette façon! 🙂
  • P: Merci de poster une méthode alternative. Je vais au moins l'utiliser pour les non-JS de secours.
  • Je suis d'accord, et (avec un peu d'appréhension) a fait de même aujourd'hui et il s'est avéré bien, donc je suis rampant en arrière. Mon code pour le niveau 3 Menubar/Menus/Items+(Submenus/Items) a un peu de CSS pour le post, et j'ai senti il y a suffisamment d'articles déjà là. Merci pour les encouragements.
  • Juste mettre des ";" après le javascript de la commande que vous souhaitez exécuter.