سؤال

وإذا كان لدي اسم المضيف مثل: http://sample.example.com و في جافا سكريبت I القيام window.location.hostname، سوف أحصل على "example.com" أو "sample.example.com"؟

إذا لم يكن كذلك، كيف يمكن أن أكون قادرا على الحصول على sample.example.com؟

هل كانت مفيدة؟

المحلول

ونعم، سوف window.location.hostname تعطيك النطاقات الفرعية كذلك. إذا كانت هذه لا تعمل، أو غير معتمد من قبل بعض متصفح آخر، هل يمكن تحليل بسهولة تامة له:

// window.location.href == "http://sample.somedomain.com/somedir/somepage.html"
var domain = /:\/\/([^\/]+)/.exec(window.location.href)[1];

نصائح أخرى

وأولا وقبل كل شيء، انها window.location، وليس document.location (document.location يعمل في بعض المتصفحات ولكن ليس قياسي)

ونعم، location.hostname <م> سوف إرجاع اسم المجال بالكامل، بما في ذلك أي النطاقات الفرعية

اقرأ المزيد هنا

النافذة الموقع

ويمكن ان يتم ذلك على النحو التالي:

var subdomain =  window.location.host.split('.')[1] ? window.location.host.split('.')[0] : false;

ونعم سوف التنبيه (window.location.hostname) تشمل النطاقات الفرعية مثل "www" و "عينة".

وماذا عن هذا المقتطف. ويمكن أن يساعد:

var a = new String(window.location);
a = a.replace('http://','');
a = a.substring(0, a.indexOf('/'));
alert(a);

وهذا لا حيلة لي:

var host = window.location.host
var subdomain = host.split('.’)[0]
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top