17 votes

Une balise d'image html s'exécutera-t-elle dans la balise head ?

Donc, une société de suivi des prospects a besoin d'un lien pour faire feu et il était dans la balise head... est-ce qu'il fera feu ?

<head>
    <img width=1 height=1 src='http://track.searchignite.com/si/CM/Tracking/TransactionTracking.aspx?siclientid=4426&DetailDescription=935626&transactionamount=1&SICustTransType=19172&jscript=0&x10=goog&x9=1&x8=935626&x7=777+665-9999&x6=jones&x5=matt&x4=&x3=Camarillo&x2=Oxnard%2C+CA+Metro+Area&x1=Hidden+Springs&n1=Austin--Bedroom--austin_1_bedroom_apartments-P'>
</head>

16voto

Larry K Points 16266

Ça ne devrait pas. La spécification dit :

Les agents utilisateurs ne rendent généralement pas les qui apparaissent dans le HEAD comme comme du contenu.

Voir le spec

Mais les navigateurs peuvent faire tout ce qu'ils veulent.

Ajouté :

C'est une zone libre dans la spécification. Par exemple, un navigateur pourrait le faire :

  • Rendu de l'élément
  • Ignorer l'élément
  • Charger l'image depuis son serveur mais ne pas la rendre
  • Ou quelque chose d'autre

... et le navigateur serait conforme.

Voyez donc ce que font vos navigateurs préférés et utilisez ensuite les informations comme bon vous semble...

5voto

Adam Points 14766

Oui. J'ai testé dans FireFox et Chrome et cela a été demandé.

5voto

Guffa Points 308133

Cela dépend du navigateur. Le code est incorrect, et il n'existe pas de norme sur la façon de gérer un code incorrect. C'est donc à chaque navigateur d'essayer de lui donner un sens.

Je pense que la plupart des navigateurs passeraient en mode "soupe de tags" et afficheraient ce qu'ils peuvent, mais certains navigateurs pourraient ignorer l'image.

Il y a aussi la question de l'effet du code incorrect sur le reste de la page. Si le navigateur modifie la façon dont le code est analysé, cela peut avoir des effets négatifs sur le code correct.

4voto

Alohci Points 30645

Oui, le navigateur va tenter de charger la ressource img, mais pour des raisons qui ne sont pas immédiatement évidentes.

En supposant qu'elle soit servie en tant que text/html, lorsque l'analyseur du navigateur voit la balise <img> il pensera qu'il rencontre un contenu affichable et déduira simplement le nom de l'élément. </head> y <body> (n'oubliez pas qu'elles sont facultatives en HTML), de sorte que la balise <img> n'est pas réellement dans l'élément head, mais dans l'élément body.

Si vous utilisez firebug, ou un autre moyen d'inspecter le DOM tel que http://software.hixie.ch/utilities/js/live-dom-viewer/ vous pouvez constater par vous-même que c'est le cas.

Puisque l'image est dans le corps, le navigateur ne la voit pas comme différente d'une image normale. <img> élément.

2voto

Tim S. Van Haren Points 5936

Les navigateurs Web chargeront effectivement l'image. Je soupçonne que le placement de l'image dans le head du document est que le src ne charge pas une image réelle, elle apparaît donc comme une image cassée dans la page Web elle-même. Puisqu'il se trouve dans le fichier head il sera appelé mais ne sera pas rendu sur la page.

En effet, cela agit comme un appel script asynchrone, car le navigateur effectuera une requête GET pour l'URL de l'attribut src de cette image pendant le chargement de la page.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X