Risposte:
Non hai bisogno di jQuery per questo, in quanto basterà un semplice javascript:
alert(document.domain);
Guardalo in azione:
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);
Per ulteriori valori relativi al dominio, controlla le proprietà di window.locationonline. Potresti scoprire che location.hostè un'opzione migliore, poiché il suo contenuto potrebbe differire da document.domain. Ad esempio, l'URL http://192.168.1.80:8080avrà solo l'indirizzo IP document.domain, ma sia l'indirizzo IP sia il numero di porta location.host.
window.location.host(come pubblicato da Bibby). Ho appena corretto un bug in cui document.domainveniva impostato il dominio principale anziché il sottodominio.
document.location.originritorna undefined.
MODIFICARE:
Se non hai bisogno di supportare IE10, puoi semplicemente usare: document.location.origin
Risposta originale, se hai bisogno di supporto legacy
Puoi ottenere tutto questo e altro ispezionando l'oggetto location:
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:"
}
così:
location.host
sarebbe il dominio, in questo caso stackoverflow.com. Per la prima parte completa dell'URL, puoi utilizzare:
location.protocol + "//" + location.host
che in questo caso sarebbe http://stackoverflow.com
Non è richiesto jQuery.
document.location.originquale risulterà su https://stackoverflow.com . Questo metodo include il protocollo appropriato
Se hai bisogno di una stringa, come me, usa questa funzione: funziona davvero.
function getHost(url)
{
var a = document.createElement('a');
a.href = url;
return a.hostname;
}
Tuttavia, se nell'URL è presente un sottodominio (ad es. Www.) Verrà restituito con il nome host. Al contrario, se non è presente alcun sottodominio, neanche il nome host ne avrà uno.
getHost('http://www.google.com') == 'google.com'mentre ciò sarebbe vero:getHost('http://google.com') == 'google.com'
È possibile utilizzare i codici seguenti per ottenere diversi parametri dell'URL corrente
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 non è necessario, utilizzare javascript semplice:
document.domain
var part = location.hostname.split('.');
var subdomains = part.shift();
var upperleveldomains = part.join('.');
dominio di secondo livello, è possibile utilizzare
var sleveldomain = parts.slice(-2).join('.');
controllare questo
alert(window.location.hostname);
questo restituirà il nome host come www.domain.com
per quanto vedo nessuno ha pubblicato la soluzione jquery tranne il codice javascript nativo.
Devi passare l'URL come stringa e otterrà l'host senza usare 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