web-dev-qa-db-fra.com

Obtenir le nom de domaine du sous-domaine Javascript

Comment puis-je obtenir le nom de domaine example.com à partir de l'ensemble des sous-domaines possibles sub1.example.comsub2.example.comsub3.example.com à l'aide de javascript ...? 

23
Aleksov
var parts = location.hostname.split('.');
var subdomain = parts.shift();
var upperleveldomain = parts.join('.');

Pour obtenir uniquement le domaine de second niveau, vous pouvez utiliser

var sndleveldomain = parts.slice(-2).join('.');
69
Bergi

C'est plus rapide

const firstDotIndex = subDomain.indexOf('.');
const domain = subDomain.substring(firstDotIndex + 1);
2
faboulaws

La solution générique est expliquée ici http://rossscrivener.co.uk/blog/javascript-get-domain-exclude-subdomain Du lien ci-dessus 

var domain = (function(){
   var i=0,domain=document.domain,p=domain.split('.'),s='_Gd'+(new Date()).getTime();
   while(i<(p.length-1) && document.cookie.indexOf(s+'='+s)==-1){
      domain = p.slice(-1-(++i)).join('.');
      document.cookie = s+"="+s+";domain="+domain+";";
   }
   document.cookie = s+"=;expires=Thu, 01 Jan 1970 00:00:01 GMT;domain="+domain+";";
   return domain;
})();
0
Dipu R