J'essaie d'écrire un script GreaseMonkey dans lequel je veux trouver tous les liens qui sont des liens relatifs. Il me semblait que la façon de procéder serait de faire correspondre le contenu de href à /^https?:///
.
Mais je trouve que lorsque j'accède à l'attribut href de l'ancre, il est toujours normalisé ou cuit dans une forme qui contient "http". Autrement dit, si le HTML contient:
<a id="rel" href="/relative/link">inner</a>
accès
document.getElementById("rel").href
retour
http://example.com/relative/link
Comment puis-je accéder aux données brutes dans l'attribut href?
Sinon, existe-t-il une meilleure façon de trouver des liens relatifs?
Essayez plutôt la méthode getAttribute
.
Typique. Je l'ai compris moi-même presque immédiatement après avoir posté la question.
au lieu de:
anchor.href
utilisation:
anchor.getAttribute("href")
Bien sûr, il m'a fallu plus de temps pour taper cette réponse que tout le monde pour y répondre. (Merde, vous êtes rapide.)