Jawaban:
Anda tidak perlu jQuery untuk ini, karena javascript sederhana sudah cukup:
alert(document.domain);
Lihat dalam aksi:
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);
Untuk nilai terkait domain lebih lanjut, lihat properti window.location
online. Anda mungkin menemukan itu location.host
adalah pilihan yang lebih baik, karena isinya bisa berbeda document.domain
. Misalnya, url http://192.168.1.80:8080
hanya memiliki ipaddress document.domain
, tetapi juga ipaddress dan nomor port location.host
.
window.location.host
(seperti yang dipajang bibby). Saya baru saja memperbaiki bug di mana document.domain
sedang diatur ke domain root alih-alih subdomain.
document.location.origin
pengembalian IE11 undefined
.
EDIT:
Jika Anda tidak perlu mendukung IE10, Anda cukup menggunakan: document.location.origin
Jawaban orisinal, jika Anda memerlukan dukungan sebelumnya
Anda bisa mendapatkan semua ini dan lebih banyak lagi dengan memeriksa objek lokasi:
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:"
}
begitu:
location.host
akan menjadi domain, dalam hal ini stackoverflow.com. Untuk bagian pertama lengkap dari url, Anda dapat menggunakan:
location.protocol + "//" + location.host
yang dalam hal ini adalah http://stackoverflow.com
Tidak diperlukan jQuery.
document.location.origin
yang akan menghasilkan https://stackoverflow.com . Metode ini mencakup protokol yang sesuai
Jika Anda membutuhkan dari string, seperti saya, gunakan fungsi ini - itu benar-benar berfungsi.
function getHost(url)
{
var a = document.createElement('a');
a.href = url;
return a.hostname;
}
Tetapi perhatikan, jika ada subdomain (mis. Www) di URL itu akan dikembalikan dengan nama host. Sebaliknya, jika tidak ada subdomain, nama host juga tidak akan memiliki satu.
getHost('http://www.google.com') == 'google.com'
padahal ini benar:getHost('http://google.com') == 'google.com'
Anda dapat menggunakan kode di bawah ini untuk mendapatkan berbagai parameter URL Saat Ini
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 tidak diperlukan, gunakan javascript sederhana:
document.domain
var part = location.hostname.split('.');
var subdomains = part.shift();
var upperleveldomains = part.join('.');
domain tingkat kedua, mungkin Anda gunakan
var sleveldomain = parts.slice(-2).join('.');
Periksa ini
alert(window.location.hostname);
ini akan mengembalikan nama host sebagai www.domain.com
sejauh yang saya lihat tidak ada yang diposting solusi jquery selain kode javascript asli.
Anda harus melewatkan URL sebagai string dan itu akan mendapatkan host tanpa menggunakan regexp.
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