Tout ce que je veux, c'est obtenir l'URL du site Web. Pas l'URL tirée 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 une variable à utiliser à ma guise.
Tout ce que je veux, c'est obtenir l'URL du site Web. Pas l'URL tirée 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 une variable à utiliser à ma guise.
Réponses:
Utilisation:
window.location.href
Comme indiqué dans les commentaires, la ligne ci-dessous fonctionne, mais elle est bogue pour Firefox.
document.URL;
document.URL
propriété ne se met pas à jour après un window.location
vers une ancre (#), alors que window.location.href
oui. J'ai mis en place une démonstration en direct ici: jsfiddle.net/PxgKy Je n'ai testé aucune autre version de Firefox. Aucun problème d'utilisation document.URL
n'a été détecté dans Chrome 20 et IE9.
window.location.host
etwindow.location.href.toString().split(window.location.host)[1]
document.baseURI
alors. Fondamentalement , il y a 3 façons d'obtenir url document.baseURI
, document.URL
, et location
.
name="URL"
alors cette propriété sera ombrée sur l' document
objet et votre code se cassera. Dans ce cas, document.URL
fera référence au nœud DOM à la place. Mieux vaut utiliser les propriétés de l'objet global comme dans window.location.href
.
Accès aux informations URL
JavaScript vous propose de nombreuses méthodes pour récupérer et modifier l'URL actuelle, qui s'affiche dans la barre d'adresse du navigateur. Toutes ces méthodes utilisent l' Location
objet, qui est une propriété de l' Window
objet. Vous pouvez créer un nouvel Location
objet qui a l'URL actuelle comme suit:
var currentLocation = window.location;
Structure d'URL de base
<protocol>//<hostname>:<port>/<pathname><search><hash>
protocole: spécifie le nom du protocole à utiliser pour accéder à la ressource sur Internet. (HTTP (sans SSL) ou HTTPS (avec SSL))
nom d'hôte: le nom d'hôte spécifie l'hôte propriétaire 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 autre réseau doit être transféré lorsqu'il arrive sur un serveur.
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
,.
recherche: une chaîne de requête suit le composant de chemin d'accès et fournit une chaîne d'informations que la ressource peut utiliser à certaines fins (par exemple, comme paramètres pour une recherche ou comme données à traiter).
hachage: la partie d'ancrage d'une URL, comprend le signe de hachage (#).
Avec ces Location
propriétés d'objet, vous pouvez accéder à tous ces composants URL et à ce qu'ils peuvent définir ou renvoyer:
J'espère que vous avez obtenu votre réponse ..
window.location
, mais les propriétés, et nous avons ici un exemple : var stringPathName = window.location.pathname
.
substring
. Cependant, il peut être utile lorsque vous souhaitez utiliser pour rediriger document.location = "/page.html";
redirige vers la page racinepage.html
search
, mais dans la liste des descriptions ci-dessous, cela s'appelle un query
. Peut-être qu'ils peuvent être rapprochés ou que des explications supplémentaires peuvent être ajoutées.
À utiliser window.location
pour l'accès en lecture et en écriture à l' objet de localisation 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 doit contenir la même valeur que window.location.href
.
Obtient l'URL de la page actuelle:
window.location.href
document
est la racine de l'arborescence de documents définie par la spécification. window
est généralement équivalent, mais il pourrait ne pas être dans certaines circonstances étranges.
OK, il est facile d' obtenir l' URL complète de la page actuelle en utilisant du 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
window.location.href
propriété renvoie l'URL de la page actuelle.
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>
Pas mal non plus de les mentionner également:
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
étiquette, vous pouvez l' obtenir comme: window.location.hash
.window.location.href
Gère donc tout en une fois ... en gros:
window.location.protocol + '//' + window.location.hostname + window.location.pathname + window.location.hash === window.location.href;
//true
L'utilisation window
n'est également pas nécessaire si elle est 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
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
Vous pouvez obtenir l'emplacement URL actuel 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 également aider quelqu'un
http://www.server.com/path/to/Script.php?option=A1B2C3
, si le système de fichiers est sensible à la casse (Linux / Unix), il n'est pas nécessaire que Script.php et script.php soient identiques. Et même s'il n'est pas sensible à la casse (Windows, certains Mac OS), ce ?option=A1B2C3
n'est pas la même chose ?option=a1b2c3
, ni même ?Option=A1B2C3
. Seul le serveur est insensible à la casse: www.server.com ou www.SeRvEr.cOm sont les mêmes.
Ajout d'un résultat pour une référence rapide
window.location;
Location {href: "/programming/1034621/get-the-current-url-with-javascript",
ancestorOrigins: DOMStringList,
origin: "https://stackoverflow.com",
replace: ƒ, assign: ƒ, …}
document.location
Location {href: "/programming/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
"/programming/1034621/get-the-current-url-with-javascript"
location.hostname
"stackoverflow.com"
Pour une URL complète avec des chaînes de requête:
document.location.toString().toLowerCase();
Pour l'URL hôte:
window.location
Dans jstl, nous pouvons accéder au chemin URL actuel 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
cela donnera http://stackoverflow.com/controller/path
.
La façon d'obtenir l'objet de localisation actuel est window.location
.
Comparez cela à document.location
, qui à l'origine ne renvoyait que l'URL actuelle sous forme de chaîne. Probablement pour éviter toute confusion, a document.location
été remplacé par document.URL
.
Et, tous les navigateurs modernes sont mappés document.location
à window.location
.
En réalité, pour la sécurité entre navigateurs, vous devriez utiliser window.location
plutôt que document.location
.
Pour ceux qui veulent un objet URL réel, potentiellement pour un utilitaire qui prend les URL comme argument:
const url = new URL(window.location.href)
La réponse de Nikhil Agrawal est excellente, ajoutant juste un petit exemple ici que vous pouvez faire dans la console pour voir les différents composants en action:
Si vous voulez que l'URL de base sans chemin ni paramètre de requête (par exemple pour effectuer des requêtes AJAX contre fonctionne sur les serveurs de développement / transfert ET de production), il window.location.origin
est préférable car il conserve le protocole ainsi que le port facultatif (dans le développement Django, vous pouvez parfois avoir un port non standard qui le casse si vous utilisez simplement le nom d'hôte, etc.)
Vous pouvez obtenir le lien complet de la page actuelle location.href
et pour obtenir le lien du contrôleur actuel, utilisez:
location.href.substring(0, location.href.lastIndexOf('/'));
Obtenir l'URL actuelle avec JavaScript:
window.location.toString ();
window.location.href
si vous faites référence à un lien spécifique qui a un identifiant, 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 en utilisant window.location.replace . ajoutez simplement un attribut id=""
comme indiqué.
Tout d'abord, vérifiez que la page est complètement chargée dans
browser,window.location.toString();
window.location.href
puis appelez une fonction qui prend l'url, la variable URL et s'imprime sur la console,
$(window).load(function(){
var url = window.location.href.toString();
var URL = document.URL;
var wayThreeUsingJQuery = $(location).attr('href');
console.log(url);
console.log(URL);
console.log(wayThreeUsingJQuery );
});