Tout ce que je veux, c'est obtenir l'URL du site. Pas l'URL prise à partir d'un lien. Sur le chargement de la page, je dois pouvoir saisir l’URL complète et actuelle du site Web et la définir comme variable à utiliser comme bon me semble.
Utilisation:
window.location.href
Comme indiqué dans les commentaires, la ligne ci-dessous fonctionne, mais elle a un bug pour Firefox.
document.URL;
Accès aux infos URL
JavaScript vous propose de nombreuses méthodes pour récupérer et modifier l'URL actuelle, qui est affichée dans la barre d'adresse du navigateur. Toutes ces méthodes utilisent l'objet Location
, qui est une propriété de l'objet Window
. Vous pouvez créer un nouvel objet Location
avec l'URL actuelle, comme suit:
var currentLocation = window.location;
Structure d'URL de base
<protocol>//<hostname>:<port>/<pathname><search><hash>
protocol: Spécifie le nom du protocole à utiliser pour accéder à la ressource sur Internet. (HTTP (sans SSL) ou HTTPS (avec SSL))
nom_hôte: Nom_hôte spécifie l'hôte qui possède la ressource. Par exemple, www.stackoverflow.com
. Un serveur fournit des services en utilisant le nom de l'hôte.
port: Numéro de port utilisé pour reconnaître un processus spécifique auquel un message Internet ou un autre réseau doit être transmis lorsqu'il arrive sur un serveur.
nom du chemin: Le chemin donne des informations sur la ressource spécifique de l'hôte à laquelle le client Web veut accéder. Par exemple, /index.html
.
query: Une chaîne de requête suit le composant de chemin et fournit une chaîne d'informations que la ressource peut utiliser à certaines fins (par exemple, en tant que paramètres de recherche ou en tant que données à traiter).
hash: La partie ancre d'une URL inclut le signe dièse (#).
Avec ces propriétés d'objet Location
, vous pouvez accéder à tous ces composants d'URL et à ce qu'ils peuvent définir ou renvoyer:
J'espère que tu as eu ta réponse ..
Utilisez window.location
pour un accès en lecture et en écriture à objet location associé à la trame actuelle. Si vous souhaitez simplement obtenir l'adresse sous forme de chaîne en lecture seule, vous pouvez utiliser document.URL
, qui devrait contenir la même valeur que window.location.href
.
Obtient l'URL de la page en cours:
window.location.href
Pour obtenir le chemin, vous pouvez utiliser:
console.log('document.location', document.location.href);
console.log('location.pathname', window.location.pathname); // Returns path only
console.log('location.href', window.location.href); // Returns full URL
OK, obtenir l'URL complète de la page en cours est facile à utiliser en JavaScript pur. Par exemple, essayez ce code sur cette page:
window.location.href;
// use it in the console of this page will return
// http://stackoverflow.com/questions/1034621/get-current-url-in-web-browser"
La propriété
window.location.href
renvoie l'URL de la page en cours.
document.getElementById("root").innerHTML = "The full URL of this page is:<br>" + window.location.href;
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript</h2>
<h3>The window.location.href</h3>
<p id="root"></p>
</body>
</html>
Juste pas mal de mentionner ceux-ci aussi:
si vous avez besoin d'un chemin relatif, utilisez simplement window.location.pathname
;
si vous souhaitez obtenir le nom d'hôte, vous pouvez utiliser window.location.hostname
;
et si vous devez obtenir le protocole séparément, utilisez window.location.protocol
hash
, vous pouvez l’obtenir comme ceci: window.location.hash
.Donc window.location.href
gère tout en une fois ... en gros:
window.location.protocol + '//' + window.location.hostname + window.location.pathname + window.location.hash === window.location.href;
//true
Également utiliser window
n'est pas nécessaire si vous êtes déjà dans la portée de la fenêtre ...
Donc, dans ce cas, vous pouvez utiliser:
location.protocol
location.hostname
location.pathname
location.hash
location.href
Utilisez: window.location.href
.
Comme indiqué ci-dessus, document.URL
ne met pas à jour lors de la mise à jour de window.location
. Voir MDN .
window.location.href
pour obtenir l'URL complète.window.location.pathname
pour obtenir l'URL quittant l'hôte.Vous pouvez obtenir l'emplacement actuel de l'URL avec une balise de hachage en utilisant:
JavaScript:
// Using href
var URL = window.location.href;
// Using path
var URL = window.location.pathname;
jQuery :
$(location).attr('href');
var currentPageUrlIs = "";
if (typeof this.href != "undefined") {
currentPageUrlIs = this.href.toString().toLowerCase();
}else{
currentPageUrlIs = document.location.toString().toLowerCase();
}
Le code ci-dessus peut aussi aider quelqu'un
Ajout du résultat pour référence rapide
window.location;
Location {href: "https://stackoverflow.com/questions/1034621/get-the-current-url-with-javascript",
ancestorOrigins: DOMStringList,
Origin: "https://stackoverflow.com",
replace: ƒ, assign: ƒ, …}
document.location
Location {href: "https://stackoverflow.com/questions/1034621/get-the-current-url-with-javascript",
ancestorOrigins: DOMStringList,
Origin: "https://stackoverflow.com",
replace: ƒ, assign: ƒ
, …}
window.location.pathname
"/questions/1034621/get-the-current-url-with-javascript"
window.location.href
"https://stackoverflow.com/questions/1034621/get-the-current-url-with-javascript"
emplacement.nomhôte
"stackoverflow.com"
Pour une URL complète avec des chaînes de requête:
document.location.toString().toLowerCase();
Pour l'URL de l'hôte:
window.location
Le moyen d'obtenir l'objet de localisation actuel est window.location
.
Comparez ceci à document.location
, qui, à l'origine, ne renvoyait que l'URL actuelle sous forme de chaîne. Probablement pour éviter toute confusion, document.location
a été remplacé par document.URL
.
Et tous les navigateurs modernes mappent document.location
à window.location
.
En réalité, pour des raisons de sécurité sur plusieurs navigateurs, vous devez utiliser window.location
plutôt que document.location
.
En jstl, nous pouvons accéder au chemin actuel de l'URL en utilisant pageContext.request.contextPath
. Si vous souhaitez effectuer un appel Ajax, utilisez l'URL suivante.
url = "${pageContext.request.contextPath}" + "/controller/path"
Exemple: Pour la page http://stackoverflow.com/posts/36577223
, ceci donnera http://stackoverflow.com/controller/path
.
location.Origin+location.pathname+location.search+location.hash;
si vous faites référence à un lien spécifique qui a un id ce code peut vous aider.
$(".disapprove").click(function(){
var id = $(this).attr("id");
$.ajax({
url: "<?php echo base_url('index.php/sample/page/"+id+"')?>",
type: "post",
success:function()
{
alert("The Request has been Disapproved");
window.location.replace("http://localhost/sample/page/"+id+"");
}
});
});
J'utilise ajax ici pour soumettre un identifiant et rediriger la page avec window.location.replace. ajoutez simplement un attribut id=""
comme indiqué.
Obtenir l'URL actuelle avec JavaScript:
window.location.toString ();
window.location.href
Vous pouvez obtenir le lien complet de la page en cours via location.href
et pour obtenir le lien du contrôleur en cours, utilisez:
location.href.substring(0, location.href.lastIndexOf('/'));