Yanıtlar:
Bunun için jQuery'ye ihtiyacınız yoktur, çünkü basit javascript yeterli olacaktır:
alert(document.domain);
Uygulamaya bakın:
console.log("Output;");
console.log(location.hostname);
console.log(document.domain);
alert(window.location.hostname)
console.log("document.URL : "+document.URL);
console.log("document.location.href : "+document.location.href);
console.log("document.location.origin : "+document.location.origin);
console.log("document.location.hostname : "+document.location.hostname);
console.log("document.location.host : "+document.location.host);
console.log("document.location.pathname : "+document.location.pathname);
Alan adıyla ilgili daha fazla değer için window.location
çevrimiçi özelliklerine göz atın. location.host
İçeriği farklı olabileceğinden, bunun daha iyi bir seçenek olduğunu görebilirsiniz document.domain
. Örneğin, URL http://192.168.1.80:8080
yalnızca ipadresi içerecek document.domain
, ancak hem ipadresi hem de port numarası içerecektir location.host
.
window.location.host
(gönderilen bibby olarak) kullanmanızı tavsiye ederim . Sadece document.domain
alt etki alanı yerine kök etki alanına ayarlanmış bir hatayı düzelttim .
document.location.origin
döner undefined
.
DÜZENLE:
IE10'u desteklemeniz gerekmiyorsa, şunları kullanabilirsiniz: document.location.origin
Eski desteğe ihtiyacınız varsa orijinal yanıt
Tüm bunları ve daha fazlasını konum nesnesini inceleyerek elde edebilirsiniz:
location = {
host: "stackoverflow.com",
hostname: "stackoverflow.com",
href: "http://stackoverflow.com/questions/2300771/jquery-domain-get-url",
pathname: "/questions/2300771/jquery-domain-get-url",
port: "",
protocol: "http:"
}
yani:
location.host
etki alanı olur, bu durumda stackoverflow.com. URL'nin ilk bölümü için şunları kullanabilirsiniz:
location.protocol + "//" + location.host
bu durumda http://stackoverflow.com
JQuery gerekmez.
document.location.origin
sonuçlanacak olanları kullanmıyorsunuz ? Bu yöntem uygun protokolü içerir
Benim gibi dizeden ihtiyacınız varsa, bu işlevi kullanın - gerçekten işe yarıyor.
function getHost(url)
{
var a = document.createElement('a');
a.href = url;
return a.hostname;
}
Ancak, URL'de bir alt alan (ör. Www.) Varsa, ana bilgisayar adıyla birlikte döndürüleceğini unutmayın. Tersine, alt alan yoksa, ana bilgisayar adında da bir alt alan bulunmaz.
getHost('http://www.google.com') == 'google.com'
oysa bu doğru olur:getHost('http://google.com') == 'google.com'
Mevcut URL'nin farklı parametrelerini almak için aşağıdaki kodları kullanabilirsiniz
alert("document.URL : "+document.URL);
alert("document.location.href : "+document.location.href);
alert("document.location.origin : "+document.location.origin);
alert("document.location.hostname : "+document.location.hostname);
alert("document.location.host : "+document.location.host);
alert("document.location.pathname : "+document.location.pathname);
jQuery gerekli değildir, basit javascript kullanın:
document.domain
var part = location.hostname.split('.');
var subdomains = part.shift();
var upperleveldomains = part.join('.');
ikinci düzey alan adını kullanabilirsiniz.
var sleveldomain = parts.slice(-2).join('.');
şuna göz at
alert(window.location.hostname);
bu, host adını www.domain.com olarak döndürür
gördüğüm kadarıyla kimse jquery çözüm ancak yerel javascript kodu gönderdi.
URL'yi bir dize olarak iletmeniz gerekir ve regexp kullanmadan ana makineyi alır.
function getHostFromUrl(urlString) {
return $a = $('<a>', {
'href': urlString
}).prop('host');
}
//If url is something.domain.com this returns -> domain.com
function getDomain() {
return window.location.hostname.replace(/([a-zA-Z0-9]+.)/,"");
}
Some people, when confronted with a problem, think "I know, I'll use regular expressions." Now they have two problems.
- Jamie Zawinski