Как я могу получить доменное имя с помощью jquery?
Ответы:
Для этого вам не нужен 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
online. Возможно, вы обнаружите, что location.host
это лучший вариант, поскольку его содержание может отличаться от document.domain
. Например, URL-адрес http://192.168.1.80:8080
будет содержать только IP-адрес document.domain
, но и IP-адрес, и номер порта location.host
.
window.location.host
(как написано в bibby). Я только что исправил ошибку, из-за которой 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
//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.
- Джейми Завински