英文: a 链接标记 ie 下会自动补全 href.
En travaillant sur le tracker de liaison AJAX et Mapsurface, j'ai rencontré une incohérence dans la façon dont l'attribut HREF est récupéré à l'aide de Scripting DOM.L'attribut HREF est différent des autres attributs d'élément en ce que l'ensemble de valeur peut être relatif au contexte de l'URL de la page. Si vous définissez un lien avec un attribut HREF relatif
<a href = .. / développement / test1.html> Page de test </a>
Le navigateur examinera l'URL actuelle des pages et tirera une URL absolue pour le lien.
http://www.glenn.jones.net/development/test1.html
C'est la racine du problème, certains navigateurs renvoient le texte de l'attribut et d'autres renvoient l'URL absolue dérivée. Les résultats diffèrent également par la méthode que vous utilisez pour récupérer l'attribut HREF. Il existe trois façons courantes d'accéder à un attribut:
linkobj.href; linkoBj ['href']; linkoBj.getAttribute ('href');
Le linkobj.href et linkobj['href ']; Les méthodes d'accès à l'attribut renvoient systématiquement l'URL absolue dérivée.
Microsoft a essayé de résoudre ce problème en ajoutant un deuxième paramètre à la méthode GetAttribute. Le deuxième paramètre peut être défini sur 0,1 ou 2. Si le paramètre est défini sur 2, la méthode renvoie le texte d'attribut. Tout autre paramètre renverra l'URL absolue dérivée.
linkoBj.getAttribute ('href'); linkoBj.getAttribute ('href', 2);
URL absolue
Alors, qu'est-ce qui devrait être renvoyé par la méthode GetAttribute? La spécification de base de niveau 2 W3C DOM Level 2 qui définit la structure de la méthode GetAttribute ne couvre pas ce problème. Ce n'est pas que l'une ou l'autre approche soit mauvaise ou correcte. Sur ce point, la spécification est ouverte à l'interprétation.
En tant que codeur, je voudrais pouvoir accéder aux deux valeurs. La spécification DOM Core doit être mise à jour pour résoudre le problème.
Pour le moment, j'utilise la méthode de la propriété d'objet à l'ancienne linkobj.href pour retourner des URL absolues dérivées. Il fournit les résultats les plus cohérents dans tous les navigateurs. URL d'intérêt
Comme d'habitude, juste au moment où je terminais ce post, j'ai trouvé ce rapport de bogue sur le site QuickMode qui discute du même sujet.
getAttribute href est toujours absolu.html