Ich habe einen Link wie folgt:Ermitteln, was der Pfadname eines Links wäre, wenn er folgt?
<a href="./somepage.html">This link goes to some page.</a>
Ich habe eine Variable, die die pathname
der Seite nach besuchen die Seite enthält. Es sieht so aus:
/C:/work/so/test/somepage.html
ich zur Zeit ihnen bin zu vergleichen, indem Sie diese:
curLocation = window.location.pathname;
pathname = curLocation.substring(0, curLocation.lastIndexOf('/') + 1) + elements[i].getAttribute('href');
var oldPathname = '/C:/work/so/test/somepage.html'; //pretend this variable is already set, and not hardcoded
if(pathname == oldPathname) {
//do stuff
}
jedoch, das nicht funktioniert, weil pathname
wird gleich diesen:
/C:/work/so/test/./somepage.html
... aber oldPathname
(der tatsächliche resultierende Pfad nach dem Navigieren dieser Verbindung) wird wie folgt aussehen:
/C:/work/so/test/somepage.html
Wie kann ich zuverlässig prüfen, ob diese beiden Verbindungen identisch sind? Gibt es eine Möglichkeit, durch einen Link zu "simulieren" und herauszufinden, was das Ergebnis window.location.pathname
wäre?
Pfadname = pathname.replace ('./', ''); – Angels
@Angels Nun, das war nur ein Beispiel, ich weiß nicht, in welchen anderen Fällen eine URL die gleiche ist, aber nicht, wenn sie an das aktuelle Verzeichnis angehängt wird. – Clonkex
anstelle von 'elements [i] .getAttribute ('href')' usage 'elements [i] .href'? Dies hat den vollen Pfad –