web-dev-qa-db-ger.com

Aktuelle URL mit jQuery erhalten?

Ich benutze jQuery. Wie erhalte ich den Pfad der aktuellen URL und ordne ihn einer Variablen zu?

Beispiel URL:

http://localhost/menuname.de?foo=bar&number=0
1727
venkatachalam

Um den Pfad zu ermitteln, können Sie Folgendes verwenden:

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)
2358
Ryan Doherty

Im reinen jQuery-Stil:

$(location).attr('href');

Das Standortobjekt verfügt auch über andere Eigenschaften wie Host, Hash, Protokoll und Pfadname.

803
Boris Guéry
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>');

Dies funktioniert nur, wenn Sie jQuery haben. Zum Beispiel:

<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>
454
rizon

Wenn Sie die in der URL enthaltenen Hash-Parameter benötigen, ist window.location.href möglicherweise die bessere Wahl.

window.location.pathname
=> /search

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

Sie möchten das integrierte JavaScript-Objekt window.location verwenden.

52
clawr

Fügen Sie diese Funktion einfach in JavaScript hinzu, und es wird der absolute Pfad des aktuellen Pfads zurückgegeben.

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

Ich hoffe es funktioniert für dich.

44
Neville Bonavia

window.location ist ein Objekt in Javascript. es gibt folgende Daten zurück

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

in jquery kannst du verwenden

$(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
34
Gaurav

Dies ist ein komplizierteres Problem, als viele vielleicht denken. Einige Browser unterstützen integrierte JavaScript-Standortobjekte und zugehörige Parameter/Methoden, auf die über window.location oder document.location zugegriffen werden kann. Verschiedene Versionen von Internet Explorer (6,7) unterstützen diese Methoden jedoch nicht auf die gleiche Weise (window.location.href? window.location.replace() wird nicht unterstützt). Sie müssen also auf unterschiedliche Weise darauf zugreifen, indem Sie alle bedingten Codes schreiben die Zeit, um den Internet Explorer in der Hand zu halten.

Wenn Sie also jQuery verfügbar und geladen haben, können Sie auch jQuery (location) verwenden, wie die anderen erwähnten, da dadurch diese Probleme behoben werden. Wenn Sie jedoch beispielsweise eine clientseitige Geolocation-Umleitung über JavaScript durchführen (dh mithilfe der Google Maps-API und der Methoden für Standortobjekte), möchten Sie möglicherweise nicht die gesamte jQuery-Bibliothek laden und den entsprechenden bedingten Code schreiben prüft jede Version von Internet Explorer/Firefox/etc.

Internet Explorer macht die Front-End-Codierungskatze unglücklich, aber jQuery ist ein Teller Milch.

29
negutron

Verwenden Sie nur für den Hostnamen:

window.location.hostname
27
Mahmoud Farahat

Dies wird auch funktionieren:

var currentURL = window.location.href;
22
Suresh Pattu

Java-Script bietet viele Methoden zum Abrufen der aktuellen URL, die in der Adressleiste des Browsers angezeigt wird.

Test-URL:

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

Funktion:

_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();
}
_
  • protocol " Webbrowser Verwenden Sie das Internetprotokoll, indem Sie einige Regeln für die Kommunikation zwischen WebHosted Applications und Web Client (Browser) befolgen. (http = 8 , https (SSL) = 44 , ftp = 21 usw.)

EX: Mit Standard-Portnummern

_<protocol>//<hostname>:<port>/<pathname><search><hash>
https://en.wikipedia.org:443/wiki/Pretty_Good_Privacy
http://stackoverflow.com:80/
_
  • (//) "Host ist der Name, der einem Endpunkt (Computer, auf dem sich die Ressource befindet) im Internet gegeben wird. www.stackoverflow.com - DNS IP-Adresse eines lokalen Hosts einer Anwendung (OR): 8080 - localhost

Domain-Namen werden nach den Regeln und Verfahren des DNS-Baums (Domain Name System) registriert. DNS-Server von jemandem, der Ihre Domain mit IP-Adresse zu Adressierungszwecken verwaltet. In der DNS-Serverhierarchie lautet der Stammname von stackoverlfow.com com.

_gTLDs      - com « stackoverflow (OR) in « co « google
_

Auf dem lokalen System müssen Domänen verwaltet werden, die in den Hostdateien nicht PUBLIC sind. _localhost.yash.com « localhsot - subdomain(_ web-server _), yash.com - maindomain(_ Proxy-Server _). myLocalApplication.com 172.89.23.777_

  • (/) "Der Pfad gibt Informationen zu der spezifischen Ressource innerhalb des Hosts an, auf die der Webclient zugreifen möchte
  • (?) "Eine optionale Abfrage besteht darin, eine Folge von Attribut-Wert-Paaren zu übergeben, die durch ein Trennzeichen (&) getrennt sind.
  • (#) "Ein optionales Fragment ist häufig ein ID-Attribut eines bestimmten Elements, und Webbrowser rollen dieses Element in die Ansicht.

Wenn der Parameter ein Epoch _?date=1467708674_ hat, verwenden Sie.

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

URL enter image description here


Authentifizierungs-URL mit Benutzername: Passwort, Wenn Benutzername/Passwort @ -Symbol enthält
mögen:

_Username = `[email protected]`
Password = `[email protected]`
_

dann müssen Sie den @ als %40 URL-kodieren. Siehe ...

_http://my_email%40gmail.com:Yash%[email protected]_site.com
_

encodeURI() (vs) encodeURIComponent() Beispiel

_var testURL = "http:[email protected]:[email protected]//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 (-_.!~*')
*/
_
21
Yash

Sie können window.location protokollieren und alle Optionen anzeigen, nur für die URL:

window.location.Origin

für den gesamten Pfad verwenden:

window.location.href

es gibt auch Standort ._ _

.Host
.hostname
.protocol
.pathname
19
dacopenhagen

Dies gibt das absolute URL der aktuellen Seite mit JavaScript/ jQuery zurück.

  • document.URL

  • $("*").context.baseURI

  • location.href

15
user1570636

Wenn es jemanden gibt, der das URL und das Hash-Tag verketten möchte, kombinieren Sie zwei Funktionen:

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

Sie können Ihren Pfad einfach mit js selbst ermitteln. window.location oder location geben Ihnen das Objekt der aktuellen URL

console.log("Origin - ",location.Origin);
console.log("Entire URL - ",location.href);
console.log("Path Beyond URL - ",location.pathname);
12

Ich habe dies, um die GET-Variablen abzustreifen.

var loc = window.location;
var currentURL = loc.protocol + '//' + loc.Host + loc.pathname;
12
Aram Kocharyan

Hier ist ein Beispiel, um die aktuelle URL mit jQuery und JavaScript abzurufen:

$(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);
});
11
user3580413

So rufen Sie die URL des übergeordneten Fensters in einem iframe ab:

$(window.parent.location).attr('href');

Hinweis: Funktioniert nur auf derselben Domain

11
Costa
 var currenturl = jQuery(location).attr('href');
11
hari maliya

Im Folgenden finden Sie Beispiele für nützliche Codefragmente, die verwendet werden können. Einige Beispiele verwenden Standard-JavaScript-Funktionen und sind nicht spezifisch für jQuery:

Siehe 8 nützliche jQuery-Snippets für URLs und Querystringe.

10
Issamovitch

Verwenden Sie window.location.href . Dadurch erhalten Sie die vollständige URL .

10

window.location gibt Ihnen die aktuelle URL und Sie können daraus extrahieren, was Sie wollen ...

9
ZMR BINU

Wenn Sie den Pfad der Stammwebsite abrufen möchten, verwenden Sie Folgendes:

$(location).attr('href').replace($(location).attr('pathname'),'');
8
vikas mehta

Siehe purl.js . Dies wird wirklich helfen und kann auch verwendet werden, abhängig von jQuery. Benutze es so:

$.url().param("yourparam");
8
Chuanshi Liu

var path = location.pathname gibt den Pfad der aktuellen URL zurück (jQuery wird nicht benötigt). Die Verwendung von window.location ist optional.

8
Jonathan Lin

Sehr gebräuchlich sind die Top 3

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

Alle Browser unterstützen Javascript-Fensterobjekte. Es definiert das Fenster des Browsers.

Die globalen Objekte und Funktionen werden automatisch Teil des Fensterobjekts.

Alle globalen Variablen sind Fensterobjekteigenschaften und alle globalen Funktionen sind ihre Methoden.

Das gesamte HTML-Dokument ist ebenfalls eine Fenstereigenschaft.

Sie können also window.location-Objekt verwenden, um alle URL-bezogenen Attribute abzurufen.

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>
7
Sumesh TG
var newURL = window.location.protocol + "//" + window.location.Host + "/" + window.location.pathname;
6
Hema Ganapathy
// get current URL

$(location).attr('href');
var pathname = window.location.pathname;
alert(window.location);
5

In jstl können wir mit pageContext.request.contextPath auf den aktuellen URL-Pfad zugreifen. Wenn Sie einen Ajax-Aufruf ausführen möchten,

  url = "${pageContext.request.contextPath}" + "/controller/path"

Beispiel: Auf der Seite http://stackoverflow.com/questions/406192 wird http://stackoverflow.com/controller/path angezeigt.

4