Come ottenere contenuti href “grezzi” in JavaScript

Sto cercando di scrivere uno script GreaseMonkey in cui voglio trovare tutti i collegamenti che sono relativi. Mi è sembrato che il modo per farlo sarebbe quello di far corrispondere il contenuto di href a /^https?:/// .

Ma trovo che quando accedo all’attributo href dell’ancora, è sempre normalizzato o cotto in un modulo che contiene “http”. Cioè, se l’HTML contiene:

 inner 

Accedendo

 document.getElementById("rel").href 

ritorna

 http://example.comhttps://stackoverflow.com/relative/link 

Come posso accedere ai dati grezzi nell’attributo href?

In alternativa, c’è un modo migliore per trovare i collegamenti relativi?

Prova invece il metodo getAttribute .

Tipico. L’ho capito subito dopo aver postato la domanda.

invece di:

 anchor.href 

uso:

 anchor.getAttribute("href") 

Certo, mi ci è voluto più tempo per digitare questa risposta di quanto non ci sia voluto a tutti gli altri per rispondere. (Accidenti, voi persone siete veloci.)