J'utilise jQuery. Comment puis-je obtenir le chemin de l'URL actuelle et l'assigner à une variable?
Exemple d'URL:
http://localhost/menuname.de?foo=bar&number=0
Pour obtenir le chemin, vous pouvez utiliser:
var pathname = window.location.pathname; // Returns path only (/path/example.html)
var url = window.location.href; // Returns full URL (https://example.com/path/example.html)
var Origin = window.location.Origin; // Returns base URL (https://example.com)
En pur style jQuery:
$(location).attr('href');
L'objet location a également d'autres propriétés, telles que hôte, hachage, protocole et chemin d'accès.
http://www.refulz.com:8082/index.php#tab2?foo=789
Property Result
------------------------------------------
Host www.refulz.com:8082
hostname www.refulz.com
port 8082
protocol http:
pathname index.php
href http://www.refulz.com:8082/index.php#tab2
hash #tab2
search ?foo=789
var x = $(location).attr('<property>');
Cela ne fonctionnera que si vous avez jQuery. Par exemple:
<html>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>
<script>
$(location).attr('href'); // http://www.refulz.com:8082/index.php#tab2
$(location).attr('pathname'); // index.php
</script>
</html>
Si vous avez besoin des paramètres de hachage présents dans l'URL, window.location.href
peut être un meilleur choix.
window.location.pathname
=> /search
window.location.href
=> www.website.com/search#race_type=1
Vous voudrez utiliser l'objet window.location
intégré de JavaScript.
Il suffit d’ajouter cette fonction en JavaScript, qui renvoie le chemin absolu du chemin actuel.
function getAbsolutePath() {
var loc = window.location;
var pathName = loc.pathname.substring(0, loc.pathname.lastIndexOf('/') + 1);
return loc.href.substring(0, loc.href.length - ((loc.pathname + loc.search + loc.hash).length - pathName.length));
}
J'espère que cela fonctionne pour vous.
window.location est un objet en javascript. il renvoie les données suivantes
window.location.Host #returns Host
window.location.hostname #returns hostname
window.location.path #return path
window.location.href #returns full current url
window.location.port #returns the port
window.location.protocol #returns the protocol
dans jQuery vous pouvez utiliser
$(location).attr('Host'); #returns Host
$(location).attr('hostname'); #returns hostname
$(location).attr('path'); #returns path
$(location).attr('href'); #returns href
$(location).attr('port'); #returns port
$(location).attr('protocol'); #returns protocol
C'est une question plus compliquée que beaucoup ne le pensent. Plusieurs navigateurs prennent en charge les objets d'emplacement JavaScript intégrés et les paramètres/méthodes associés accessibles via window.location
ou document.location
. Cependant, différentes versions d'Internet Explorer (6,7) ne prennent pas en charge ces méthodes de la même manière (window.location.href
? window.location.replace()
n'est pas prise en charge). Vous devez donc y accéder différemment en écrivant du code conditionnel all. le temps de tenir Internet Explorer.
Ainsi, si jQuery est disponible et chargé, vous pouvez également utiliser jQuery (emplacement), comme indiqué par les autres, car cela résout ces problèmes. Si, toutefois, vous faites un exemple de redirection de géolocalisation côté client via JavaScript (à l'aide de l'API Google Maps et des méthodes d'objet d'emplacement), vous pouvez ne pas vouloir charger la totalité de la bibliothèque jQuery et écrire votre code conditionnel. vérifie chaque version d'Internet Explorer/Firefox/etc.
Internet Explorer rend le chat codeur frontal malheureux, mais jQuery est une assiette de lait.
Pour le nom d'hôte uniquement, utilisez:
window.location.hostname
Cela fonctionnera également:
var currentURL = window.location.href;
Java-script fournit de nombreuses méthodes pour récupérer l'URL actuelle qui est affichée dans la barre d'adresse du navigateur.
URL de test:
_http://
stackoverflow.com/questions/5515310/get-current-url-with-jquery/32942762
?
rq=1&page=2&tab=active&answertab=votes
#
32942762
_
_resourceAddress.hash();
console.log('URL Object ', webAddress);
console.log('Parameters ', param_values);
_
Fonction:
_var webAddress = {};
var param_values = {};
var protocol = '';
var resourceAddress = {
fullAddress : function () {
var addressBar = window.location.href;
if ( addressBar != '' && addressBar != 'undefined') {
webAddress[ 'href' ] = addressBar;
}
},
protocol_identifier : function () { resourceAddress.fullAddress();
protocol = window.location.protocol.replace(':', '');
if ( protocol != '' && protocol != 'undefined') {
webAddress[ 'protocol' ] = protocol;
}
},
domain : function () { resourceAddress.protocol_identifier();
var domain = window.location.hostname;
if ( domain != '' && domain != 'undefined' && typeOfVar(domain) === 'string') {
webAddress[ 'domain' ] = domain;
var port = window.location.port;
if ( (port == '' || port == 'undefined') && typeOfVar(port) === 'string') {
if(protocol == 'http') port = '80';
if(protocol == 'https') port = '443';
}
webAddress[ 'port' ] = port;
}
},
pathname : function () { resourceAddress.domain();
var resourcePath = window.location.pathname;
if ( resourcePath != '' && resourcePath != 'undefined') {
webAddress[ 'resourcePath' ] = resourcePath;
}
},
params : function () { resourceAddress.pathname();
var v_args = location.search.substring(1).split("&");
if ( v_args != '' && v_args != 'undefined')
for (var i = 0; i < v_args.length; i++) {
var pair = v_args[i].split("=");
if ( typeOfVar( pair ) === 'array' ) {
param_values[ decodeURIComponent( pair[0] ) ] = decodeURIComponent( pair[1] );
}
}
webAddress[ 'params' ] = param_values;
},
hash : function () { resourceAddress.params();
var fragment = window.location.hash.substring(1);
if ( fragment != '' && fragment != 'undefined')
webAddress[ 'hash' ] = fragment;
}
};
function typeOfVar (obj) {
return {}.toString.call(obj).split(' ')[1].slice(0, -1).toLowerCase();
}
_
EX: avec les numéros de port par défaut
_<protocol>//<hostname>:<port>/<pathname><search><hash>
https://en.wikipedia.org:443/wiki/Pretty_Good_Privacy
http://stackoverflow.com:80/
_
Les noms de domaine sont ceux que vous enregistrez conformément aux règles et procédures de l'arborescence DNS (Domain Name System). Les serveurs DNS de quelqu'un qui gère votre domaine avec une adresse IP à des fins d'adressage. Dans la hiérarchie du serveur DNS, le nom racine d'un stackoverlfow.com est com.
_gTLDs - com « stackoverflow (OR) in « co « google
_
Système local, vous devez gérer les domaines qui ne sont pas PUBLIC dans les fichiers hôtes. _localhost.yash.com « localhsot - subdomain(
_ web-server
_), yash.com - maindomain(
_ Proxy-Server
_). myLocalApplication.com 172.89.23.777
_
Si le paramètre a un Epoch _?date=1467708674
_, utilisez-le.
_var epochDate = 1467708674; var date = new Date( epochDate );
_
URL d'authentification avec nom d'utilisateur: mot de passe, Si nom d'utilisateur/mot de passe contient @ symbole
comme:
_Username = `my_email@gmail`
Password = `Yash@777`
_
alors vous devez URL encoder le @
comme %40
. voir ...
_http://my_email%40gmail.com:Yash%[email protected]_site.com
_
encodeURI()
(vs) encodeURIComponent()
exemple
_var testURL = "http:my_email@gmail:Yash777@//stackoverflow.com?tab=active&page=1#32942762";
var Uri = "/:@?&=,#", UriComponent = "$;+", Unescaped = "(-_.!~*')"; // Fixed
var encodeURI_Str = encodeURI(Uri) +' '+ encodeURI( UriComponent ) +' '+ encodeURI(Unescaped);
var encodeURIComponent_Str = encodeURIComponent( Uri ) +' '+ encodeURIComponent( UriComponent ) +' '+ encodeURIComponent( Unescaped );
console.log(encodeURI_Str, '\n', encodeURIComponent_Str);
/*
/:@?&=,# +$; (-_.!~*')
%2F%3A%40%3F%26%3D%2C%23 %2B%24%3B (-_.!~*')
*/
_
Vous pouvez vous connecter à window.location et voir toutes les options, pour utiliser uniquement l'URL:
window.location.Origin
pour tout le chemin, utilisez:
window.location.href
il y a aussi l'emplacement ._ _
.Host
.hostname
.protocol
.pathname
Si quelqu'un souhaite concaténer la balise URL et hash, combinez deux fonctions:
var pathname = window.location.pathname + document.location.hash;
Vous pouvez simplement obtenir votre chemin en utilisant js lui-même, window.location
ou location
vous donnera l'objet de l'URL actuelle
console.log("Origin - ",location.Origin);
console.log("Entire URL - ",location.href);
console.log("Path Beyond URL - ",location.pathname);
J'ai ceci pour éliminer les variables GET.
var loc = window.location;
var currentURL = loc.protocol + '//' + loc.Host + loc.pathname;
Voici un exemple pour obtenir l'URL actuelle à l'aide de jQuery et JavaScript:
$(document).ready(function() {
//jQuery
$(location).attr('href');
//Pure JavaScript
var pathname = window.location.pathname;
// To show it in an alert window
alert(window.location);
});
$.getJSON("idcheck.php?callback=?", { url:$(location).attr('href')}, function(json){
//alert(json.message);
});
Pour obtenir l'URL de la fenêtre parente à partir d'une iframe:
$(window.parent.location).attr('href');
NB: ne fonctionne que sur le même domaine
var currenturl = jQuery(location).attr('href');
Vous trouverez ci-après des exemples d'extraits de code utiles pouvant être utilisés. Certains exemples utilisent des fonctions JavaScript standard et ne sont pas spécifiques à jQuery:
Voir 8 extraits de code jQuery utiles pour les chaînes d’URL et les chaînes de chaîne de caractères.
Utilisez window.location.href . Cela vous donnera le complet URL .
window.location vous donnera le courant URL , et vous pouvez en extraire ce que vous voulez ...
Si vous voulez obtenir le chemin du site racine, utilisez ceci:
$(location).attr('href').replace($(location).attr('pathname'),'');
Voir purl.js . Cela aidera vraiment et peut également être utilisé, selon jQuery. Utilisez-le comme ceci:
$.url().param("yourparam");
var path = location.pathname
renvoie le chemin de l'URL actuelle (jQuery n'est pas nécessaire). L'utilisation de window.location
est facultative.
Très couramment utilisé top 3 ceux sont
1. window.location.hostname
2. window.location.href
3. window.location.pathname
Tous les navigateurs supportent les objets fenêtre Javascript. Il définit la fenêtre du navigateur.
Les objets globaux et les fonctions font automatiquement partie de l'objet window.
Toutes les variables globales sont des propriétés d'objets de fenêtre et toutes les fonctions globales sont ses méthodes.
L'ensemble du document HTML est également une propriété de fenêtre.
Vous pouvez donc utiliser l'objet window.location pour obtenir tous les attributs liés à l'URL.
Javascript
console.log(window.location.Host); //returns Host
console.log(window.location.hostname); //returns hostname
console.log(window.location.pathname); //return path
console.log(window.location.href); //returns full current url
console.log(window.location.port); //returns the port
console.log(window.location.protocol) //returns the protocol
JQuery
console.log("Host = "+$(location).attr('Host'));
console.log("hostname = "+$(location).attr('hostname'));
console.log("pathname = "+$(location).attr('pathname'));
console.log("href = "+$(location).attr('href'));
console.log("port = "+$(location).attr('port'));
console.log("protocol = "+$(location).attr('protocol'));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
var newURL = window.location.protocol + "//" + window.location.Host + "/" + window.location.pathname;
// get current URL
$(location).attr('href');
var pathname = window.location.pathname;
alert(window.location);
En jstl, nous pouvons accéder au chemin d’URL actuel en utilisant pageContext.request.contextPath
, Si vous voulez faire un appel ajax,
url = "${pageContext.request.contextPath}" + "/controller/path"
Ex: dans la page http://stackoverflow.com/questions/406192
cela donnera http://stackoverflow.com/controller/path