JQuery kullanıyorum. Geçerli URL'nin yolunu nasıl alırım ve bir değişkene nasıl atarım?
Örnek URL:
http://localhost/menuname.de?foo=bar&number=0
JQuery kullanıyorum. Geçerli URL'nin yolunu nasıl alırım ve bir değişkene nasıl atarım?
Örnek URL:
http://localhost/menuname.de?foo=bar&number=0
Yanıtlar:
Yolu almak için şunları kullanabilirsiniz:
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)
Saf jQuery tarzında:
$(location).attr('href');
Konum nesnesinin ana bilgisayar, karma, protokol ve yol adı gibi başka özellikleri de vardır.
.attr()
. (1) Bu bir öğe değildir, bu yüzden $(location)
en iyi ihtimalle gölgeli ve (2) çalışsa bile, .prop()
özellikleri almak için kullanmalısınız . .attr()
HTML özellikleri içindir.
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>');
Bu yalnızca jQuery'niz varsa çalışır. Örneğin:
<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>
/index.php
yerine olmalıdır index.php
.
attr
HTML özellikleri kullanılarak ayarlanabilecek şeyler için yalnızca DOM nesnelerinde kullanılması gerekir.
URL'de bulunan karma parametrelere ihtiyacınız varsa, window.location.href
daha iyi bir seçim olabilir.
window.location.pathname
=> /search
window.location.href
=> www.website.com/search#race_type=1
window.location.hash
JavaScript'in yerleşik window.location
nesnesini kullanmak istersiniz .
window.location.pathname
sonra hiçbir şey almaz teyit edebilir?
Bu işlevi JavaScript'e eklemeniz yeterlidir ve geçerli yolun mutlak yolunu döndürür.
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));
}
Umarım senin için çalışır.
var pathName = loc.pathname.substring(0, loc.pathname.lastIndexOf('/'));
window.location, javascript içindeki bir nesnedir. aşağıdaki verileri döndürür
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
jquery'de kullanabilirsiniz
$(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
windo.location.origin
?
Bu, birçok kişinin düşündüğünden daha karmaşık bir konudur. Birkaç tarayıcı yerleşik JavaScript konum nesnelerini ve window.location
veya aracılığıyla erişilebilen ilişkili parametreleri / yöntemleri destekler document.location
. Ancak, Internet Explorer'ın farklı tatları (6,7) bu yöntemleri aynı şekilde desteklemez ( window.location.href
? window.location.replace()
Desteklenmez), bu nedenle Internet Explorer'ı el altında tutmak için koşullu kod yazarak bunlara farklı şekilde erişmeniz gerekir.
Bu nedenle, jQuery kullanılabilir ve yüklüyse, jQuery (konum) da kullanabilirsiniz, çünkü diğerlerinin belirttiği gibi bu sorunları çözer. Bununla birlikte, JavaScript aracılığıyla (örneğin, Google Haritalar API'sı ve konum nesnesi yöntemleri kullanarak) bazı istemci tarafı coğrafi konum yönlendirmesi yapıyorsanız, tüm jQuery kitaplığını yüklemek ve koşullu kodunuzu yazmak istemeyebilirsiniz. Internet Explorer / Firefox / etc'nin her sürümünü kontrol eder.
Internet Explorer, ön uç kodlama kedisini mutsuz yapar, ancak jQuery bir tabak süttür.
Yalnızca ana bilgisayar adı için şunu kullanın:
window.location.hostname
java-script tarayıcının adres çubuğunda görüntülenen geçerli URL'yi almak için birçok yöntem sağlar.
Test URL'si:
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);
İşlev:
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: Varsayılan bağlantı noktası numaralarıyla
<protocol>//<hostname>:<port>/<pathname><search><hash>
https://en.wikipedia.org:443/wiki/Pretty_Good_Privacy
http://stackoverflow.com:80/
Etki alanı adları, Etki Alanı Adı Sistemi (DNS) ağacının kurallarına ve yordamlarına göre kaydettiğiniz adlardır. Adresleme amacıyla alan adınızı IP Adresi ile yöneten birinin DNS sunucuları. DNS sunucusu hiyerarşisinde stackoverlfow.com'un kök adı com'dur.
gTLDs - com « stackoverflow (OR) in « co « google
Ana sistemde PUBLIC olmayan etki alanlarını korumanız gereken yerel sistem.
localhost.yash.com « localhsot - subdomain(
web-server
), yash.com - maindomain(
Proxy-Server
).
myLocalApplication.com 172.89.23.777
Parametrede bir Epoch ?date=1467708674
varsa kullanın.
var epochDate = 1467708674; var date = new Date( epochDate );
Username: password ile kimlik doğrulama URL'si, usernaem / password aşağıdaki
gibi bir simge içeriyorsa
:
Username = `my_email@gmail`
Password = `Yash@777`
URL'yi @
as olarak kodlamanız gerekir %40
. Bakınız ...
http://my_email%40gmail.com:Yash%40777@www.my_site.com
encodeURI()
(vs) encodeURIComponent()
örnek
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 (-_.!~*')
*/
Bu da işe yarayacaktır:
var currentURL = window.location.href;
Sadece URL kullanımı için window.location günlüğünü kaydedebilir ve tüm seçenekleri görebilirsiniz:
window.location.origin
tüm yol kullanımı için:
window.location.href
ayrıca yer var. _ _
.host
.hostname
.protocol
.pathname
GET değişkenlerini çıkarmak için bu var.
var loc = window.location;
var currentURL = loc.protocol + '//' + loc.host + loc.pathname;
Sadece js kullanarak yolunuzu alabilirsiniz, window.location
ya location
da size mevcut URL nesnesi verecektir
console.log("Origin - ",location.origin);
console.log("Entire URL - ",location.href);
console.log("Path Beyond URL - ",location.pathname);
var currenturl = jQuery(location).attr('href');
Mevcut URL'yi jQuery ve JavaScript kullanarak almak için bir örnek:
$(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);
});
Aşağıdakiler kullanılabilecek faydalı kod snippet'lerine örnektir - bazı örnekler standart JavaScript işlevlerini kullanır ve jQuery'ye özgü değildir:
Bkz . URL'ler ve Sorgu Dizeleri için 8 Kullanışlı jQuery Parçacığı .
Window.location.href dosyasını kullanın . Bu size tam URL'yi verecektir .
Bkz purl.js . Bu gerçekten yardımcı olacaktır ve jQuery'ye bağlı olarak da kullanılabilir. Şöyle kullanın:
$.url().param("yourparam");
Kök sitenin yolunu almak istiyorsanız, şunu kullanın:
$(location).attr('href').replace($(location).attr('pathname'),'');
.replace('#.*', '')
mi? Sadece hash işaretini değil, sonrasındaki her şeyi kaldırın?
Çok Yaygın Kullanılan İlk 3
1. window.location.hostname
2. window.location.href
3. window.location.pathname
var path = location.pathname
geçerli URL'nin yolunu döndürür (jQuery gerekli değildir). Kullanımı window.location
isteğe bağlıdır.
Tüm tarayıcılar Javascript pencere nesnesini destekler. Tarayıcının penceresini tanımlar.
Global nesneler ve işlevler otomatik olarak pencere nesnesinin bir parçası haline gelir.
Tüm global değişkenler pencere nesneleri özellikleridir ve tüm global işlevler onun yöntemleridir.
HTML belgesinin tamamı bir pencere özelliğidir.
Böylece url ile ilgili tüm özellikleri almak için window.location nesnesini kullanabilirsiniz.
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>
location.pathname
Nerede kullandığınızı görüyorum location.path
- bu cevabın güncellenmesi gerekiyor mu?
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);
Jstl'de, geçerli bir URL yoluna pageContext.request.contextPath
, ajax çağrısı yapmak istiyorsanız,
url = "${pageContext.request.contextPath}" + "/controller/path"
Örn: bu sayfada http://stackoverflow.com/questions/406192
verilecekhttp://stackoverflow.com/controller/path