Відповіді:
Для цього вам не потрібен jQuery, оскільки достатньо простого javascript:
alert(document.domain);
Дивіться це в дії:
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);
Щоб отримати додаткові значення, пов’язані з доменом, ознайомтеся з властивостями в window.location
Інтернеті. Ви можете виявити, що location.host
це кращий варіант, оскільки його зміст може відрізнятися від document.domain
. Наприклад, URL http://192.168.1.80:8080
матиме лише ipaddress document.domain
, але і ipaddress та номер порту в location.host
.
window.location.host
(як опублікував Біббі). Я просто виправив помилку, де document.domain
встановлювався кореневий домен замість субдомену.
document.location.origin
повертається undefined
.
Редагувати:
Якщо вам не потрібно підтримувати IE10, ви можете просто скористатися: document.location.origin
Оригінальна відповідь, якщо вам потрібна застаріла підтримка
Ви можете отримати все це та багато іншого, оглянувши об’єкт місцезнаходження:
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:"
}
так:
location.host
буде домен, у цьому випадку stackoverflow.com. Для повної першої частини URL-адреси ви можете використовувати:
location.protocol + "//" + location.host
що в цьому випадку буде http://stackoverflow.com
Не потрібно jQuery.
document.location.origin
що призведе до https://stackoverflow.com . Цей метод включає відповідний протокол
Якщо вам потрібен рядок, як я, використовуйте цю функцію - вона справді працює.
function getHost(url)
{
var a = document.createElement('a');
a.href = url;
return a.hostname;
}
Але зауважте, якщо в URL-адресі є субдомен (наприклад, www.), Він повернеться з ім'ям хоста. І навпаки, якщо немає піддомену, ім'я хоста також не буде.
getHost('http://www.google.com') == 'google.com'
тоді як це було б правдою:getHost('http://google.com') == 'google.com'
Ви можете використовувати коди нижче, щоб отримати різні параметри Поточна URL-адреса
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 не потрібен, використовуйте простий javascript:
document.domain
var part = location.hostname.split('.');
var subdomains = part.shift();
var upperleveldomains = part.join('.');
домен другого рівня, який ви можете використовувати
var sleveldomain = parts.slice(-2).join('.');
Перевір це
alert(window.location.hostname);
це поверне ім'я хоста як www.domain.com
наскільки я бачу, ніхто не розміщував рішення jquery, окрім рідного коду JavaScript.
Вам потрібно передати URL як рядок, і він отримає хост без використання 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.
- Джеймі Завінський