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
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)
Im reinen jQuery-Stil:
$(location).attr('href');
Das Standortobjekt verfügt auch über andere Eigenschaften wie Host, Hash, Protokoll und Pfadname.
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>
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
Sie möchten das integrierte JavaScript-Objekt window.location
verwenden.
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.
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
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.
Verwenden Sie nur für den Hostnamen:
window.location.hostname
Dies wird auch funktionieren:
var currentURL = window.location.href;
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();
}
_
EX: Mit Standard-Portnummern
_<protocol>//<hostname>:<port>/<pathname><search><hash>
https://en.wikipedia.org:443/wiki/Pretty_Good_Privacy
http://stackoverflow.com:80/
_
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
_
Wenn der Parameter ein Epoch _?date=1467708674
_ hat, verwenden Sie.
_var epochDate = 1467708674; var date = new Date( epochDate );
_
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 (-_.!~*')
*/
_
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
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;
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);
Ich habe dies, um die GET-Variablen abzustreifen.
var loc = window.location;
var currentURL = loc.protocol + '//' + loc.Host + loc.pathname;
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);
});
So rufen Sie die URL des übergeordneten Fensters in einem iframe ab:
$(window.parent.location).attr('href');
Hinweis: Funktioniert nur auf derselben Domain
var currenturl = jQuery(location).attr('href');
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.
Verwenden Sie window.location.href . Dadurch erhalten Sie die vollständige URL .
window.location gibt Ihnen die aktuelle URL und Sie können daraus extrahieren, was Sie wollen ...
Wenn Sie den Pfad der Stammwebsite abrufen möchten, verwenden Sie Folgendes:
$(location).attr('href').replace($(location).attr('pathname'),'');
Siehe purl.js . Dies wird wirklich helfen und kann auch verwendet werden, abhängig von jQuery. Benutze es so:
$.url().param("yourparam");
var path = location.pathname
gibt den Pfad der aktuellen URL zurück (jQuery wird nicht benötigt). Die Verwendung von window.location
ist optional.
Sehr gebräuchlich sind die Top 3
1. window.location.hostname
2. window.location.href
3. window.location.pathname
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>
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);
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.