Maison > interface Web > js tutoriel > Comment utiliser la balise A pour obtenir le chemin absolu du répertoire courant dans les astuces Javascript_javascript

Comment utiliser la balise A pour obtenir le chemin absolu du répertoire courant dans les astuces Javascript_javascript

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Libérer: 2016-05-16 16:11:44
original
1819 Les gens l'ont consulté

Quand il s'agit de problèmes liés au chemin, tout le monde pensera à window.location En effet, cet objet fournit pas mal d'informations sur le chemin, parmi lesquelles celles couramment utilisées incluent :

.

1.location.href : L'URL complète de la page actuelle
2.location.pathname : Le nom du chemin dans l'URL actuelle
3.location.hash : point d'ancrage
dans l'URL actuelle 4.location.search : paramètres de requête dans l'URL actuelle

Cependant, location n'a pas d'attribut permettant d'obtenir directement le chemin absolu du répertoire courant (hors nom de fichier). Grâce à Google, j'ai trouvé de mauvaises méthodes, telles que séparer l'URL dans un tableau via "/", supprimer le dernier élément du tableau puis le concaténer dans une chaîne. Mais si le nom du fichier n'est pas spécifié dans l'URL, le résultat est complètement faux.

Sur la base de l'expérience de codage passée, l'attribut href de l'élément a renverra toujours un chemin absolu, ce qui signifie qu'il a la capacité de convertir les chemins relatifs en chemins absolus. Je l'ai essayé en utilisant le code suivant, et cela a fonctionné :

Copier le code Le code est le suivant :

var a = document.createElement('a');
a.href = './';
alerte(a.href);
a = nul;

Malheureusement, cette méthode n'est pas valide sous l'ancien IE 6/7. Lorsque alert(a.href) est exécuté, "./" apparaît toujours. Plus tard, j'ai découvert que quelqu'un avait également posé cette question sur Stackoverflow, et la solution était très simple. Il suffit d'injecter un via innerHTML :
.
Copier le code Le code est le suivant :

var div = document.createElement('div');
div.innerHTML = '";
alerte(div.firstChild.href);
div = nul;

Quelqu’un pourrait se demander : pourquoi ne pas utiliser des expressions régulières ? Ma réponse est la suivante : vous devez déterminer s'il existe un nom de fichier, s'il existe un point d'ancrage et s'il existe des paramètres de requête. Cette expression régulière peut être assez compliquée.
Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers numéros
c++ appelle javascript
Depuis 1970-01-01 08:00:00
0
0
0
Qu’est-ce que le garbage collection JavaScript ?
Depuis 1970-01-01 08:00:00
0
0
0
Que sont les fonctions de hook JavaScript ?
Depuis 1970-01-01 08:00:00
0
0
0
Comment obtenir la date actuelle en JavaScript ?
Depuis 1970-01-01 08:00:00
0
0
0
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal