Question

J'utilise jQuery. Comment obtenir le chemin de l'URL actuelle et l'assigner à une variable?

Exemple d'URL:

http://localhost/menuname.de?foo=bar&number=0
Était-ce utile?

La solution

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)

Autres conseils

En style jQuery pur:

$(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 constituer un meilleur choix.

window.location.pathname
=> /search

window.location.href 
 => www.website.com/search#race_type=1

Vous voudrez utiliser le fichier window.location intégré à JavaScript. objet.

Ajoutez simplement cette fonction en JavaScript et elle renverra 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

vous pouvez utiliser jquery

$(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 complexe que beaucoup ne le pensent. Plusieurs navigateurs prennent en charge les objets d'emplacement JavaScript intégrés et les méthodes / paramètres 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 () non pris en charge), vous devez donc y accéder différemment en écrivant tout le temps un code conditionnel pour tenir Internet Explorer à la main.

Ainsi, si jQuery est disponible et chargé, vous pouvez également utiliser jQuery (emplacement), comme indiqué par les autres, car il résout ces problèmes. Toutefois, si vous effectuez 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 de localisation), 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 s'affiche 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();
}
  • protocole « les navigateurs Web utilisent le protocole Internet en suivant certaines règles de communication entre des applications Web hébergées. et client Web (navigateur). (http = 80 , https (SSL) = 443 , ftp = 21, etc.)

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/
  • (//) «Hôte est le nom donné à un noeud final (machine sur laquelle réside la ressource) sur Internet. www.stackoverflow.com - DNS Adresse IP d'une application (OR) localhost: 8080 - localhost

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 - sous-domaine ( serveur Web ), yash.com - domaine principal ( Serveur proxy ). myLocalApplication.com 172.89.23.777

  • (/) «Le chemin d'accès donne des informations sur la ressource spécifique de l'hôte à laquelle le client Web veut accéder
  • (?) «Une requête facultative consiste à transmettre une séquence de paires attribut-valeur séparées par un délimiteur (& amp;).
  • (#) «Un fragment facultatif est souvent l'attribut id d'un élément spécifique, et les navigateurs Web la font défiler.

Si le paramètre a un époque ? date = 1467708674 puis utilisez.

var epochDate = 1467708674; var date = new Date( epochDate );

URL  entrer la description de l'image ici

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 encoder l'URL @ sous la forme % 40 . Consulter ...

http://my_email%40gmail.com:Yash%40777@www.my_site.com

encodeURI () (vs) encoderComposant () 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, uniquement pour l'URL utilisée:

window.location.origin

pour tout le chemin, utilisez:

window.location.href

il y a aussi l'emplacement. _ _

.host
.hostname
.protocol
.pathname

Ceci renverra la URL absolue de la page en cours à l'aide de JavaScript / jQuery .

  • document.URL

  • $ ("*"). context.baseURI

  • location.href

Si quelqu'un souhaite concaténer la URL et la balise de hachage, associez deux fonctions:

var pathname = window.location.pathname + document.location.hash;

J'ai ceci pour supprimer les variables GET.

var loc = window.location;
var currentURL = loc.protocol + '//' + loc.host + loc.pathname;

Vous pouvez simplement obtenir votre chemin en utilisant js lui-même, window.location ou emplacement 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);

 var currenturl = jQuery(location).attr('href');

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

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);
});

Vous trouverez ci-dessous des exemples d'extraits de code utiles qui peuvent être utilisés & # 8211; certains exemples utilisent des fonctions JavaScript standard et ne sont pas spécifiques à jQuery:

Voir 8 extraits de code jQuery utiles pour les URL & # 8217; s & amp; Chaînes de requêtes .

Utilisez window.location.href . Cela vous donnera la URL complète.

window.location vous donnera le actuel 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és top 3 one are

1. window.location.hostname 
2. window.location.href
3. window.location.pathname

Tous les navigateurs prennent en charge l’objet 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 associé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 actuel de l'URL en utilisant pageContext.request.contextPath , si vous souhaitez effectuer 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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top