Heim >Web-Frontend >js-Tutorial >So verwenden Sie das A-Tag, um den absoluten Pfad des aktuellen Verzeichnisses in Javascript_javascript-Tipps zu erhalten

So verwenden Sie das A-Tag, um den absoluten Pfad des aktuellen Verzeichnisses in Javascript_javascript-Tipps zu erhalten

WBOY
WBOYOriginal
2016-05-16 16:11:441779Durchsuche

Wenn es um pfadbezogene Probleme geht, wird jeder an window.location denken. Tatsächlich stellt dieses Objekt eine ganze Reihe von Pfadinformationen bereit, zu den häufig verwendeten gehören:

1.location.href: Die vollständige URL der aktuellen Seite
2.location.pathname: Der Pfadname in der aktuellen URL
3.location.hash: Ankerpunkt
in der aktuellen URL 4.location.search: Abfrageparameter in der aktuellen URL

Der Standort verfügt jedoch nicht über ein Attribut, das den absoluten Pfad des aktuellen Verzeichnisses (mit Ausnahme des Dateinamens) direkt ermitteln kann. Über Google habe ich einige falsche Methoden gefunden, z. B. das Trennen der URL in ein Array durch „/“, das Entfernen des letzten Elements des Arrays und das anschließende Verketten in einem String. Wenn der Dateiname jedoch nicht in der URL angegeben ist, ist das Ergebnis völlig falsch.

Basierend auf früheren Codierungserfahrungen gibt das href-Attribut des a-Elements immer einen absoluten Pfad zurück, was bedeutet, dass relative Pfade in absolute Pfade umgewandelt werden können. Ich habe es mit dem folgenden Code versucht und es hat funktioniert:

Code kopieren Der Code lautet wie folgt:

var a = document.createElement('a');
a.href = './';
alarm(a.href);
a = null;

Leider ist diese Methode unter dem alten IE 6/7 nicht gültig. Wenn Alert(a.href) ausgeführt wird, wird immer noch „./“ angezeigt. Später stellte ich fest, dass jemand diese Frage auch auf Stackoverflow gestellt hatte, und die Lösung war sehr einfach. Fügen Sie einfach ein durch innerHTML ein:
Code kopieren Der Code lautet wie folgt:

var div = document.createElement('div');
div.innerHTML = '";
alarm(div.firstChild.href);
div = null;

Jemand könnte fragen: Warum nicht reguläre Ausdrücke verwenden? Meine Antwort lautet: Sie müssen überlegen, ob es einen Dateinamen, einen Ankerpunkt und Abfrageparameter gibt. Dieser reguläre Ausdruck kann recht kompliziert sein.
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn