jquery, डोमेन, URL प्राप्त करें


140

मैं jquery के साथ डोमेन नाम कैसे प्राप्त कर सकता हूं ??

जवाबों:


335

इसके लिए आपको jQuery की आवश्यकता नहीं है, क्योंकि साधारण जावास्क्रिप्ट पर्याप्त होगी:

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 और port संख्या दोनों में location.host


7
@ rob.alarcon यह एक W3C सिफारिश है और इसमें ब्राउज़रों, पुराने और नए के बीच बहुत व्यापक समर्थन है। एकमात्र मुद्दा जो मुझे पता है वह यह है कि कुछ ब्राउज़र ( जैसे फ़ायरफ़ॉक्स ) आपको इस संपत्ति (विशेष रूप से प्रति विशेष रूप से) को तब तक लिखने देगा जब तक कि नया मूल्य मूल डोमेन का एक उपडोमेन न हो।
सैम्पसन

4
मैं वास्तव में window.location.host(bibby के रूप में पोस्ट) का उपयोग करने की सिफारिश करेंगे। मैंने अभी एक बग तय किया है जहां document.domainउप डोमेन के बजाय रूट डोमेन पर सेट किया जा रहा था।
डेरेक मॉरिसन

IE11 document.location.originरिटर्न में undefined
टिमोथी बुक्टू

113

संपादित करें:

यदि आपको 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 की आवश्यकता है।



@ पूर्ण url के लिए, इसका उपयोग क्यों न करें document.location.originजिसके परिणामस्वरूप https://stackoverflow.com होगा । इस पद्धति में उपयुक्त प्रोटोकॉल शामिल है
नाथिलियो

33

वहाँ से पहले जवाब के समान है

location.host

वर्तमान url के बारे में लोकेशन ग्लोबल में और भी मजेदार तथ्य हैं। (प्रोटोकॉल, होस्ट, पोर्ट, पथनाम, खोज, हैश)


20

यदि आपको मेरी तरह स्ट्रिंग की आवश्यकता है, तो इस फ़ंक्शन का उपयोग करें - यह वास्तव में काम करता है।

function getHost(url)
{
    var a = document.createElement('a');
    a.href = url;
    return a.hostname;
}

लेकिन ध्यान दें, यदि URL में कोई उपडोमेन (जैसे www।) है तो वह होस्टनाम के साथ वापस आ जाएगा। इसके विपरीत, अगर कोई उपडोमेन नहीं है तो होस्टनाम के पास एक भी नहीं होगा।


क्या @Vova पोपोव (या कोई) अंतिम वाक्य को स्पष्ट कर सकता है? "www। ar no www।"?!?
रैंडल कुक

2
वह कह रहा है कि a.hostname www को वापस कर देगा। यह आपके डोमेन का हिस्सा है। तो दूसरे शब्दों में, यह गलत होगा: getHost('http://www.google.com') == 'google.com'जबकि यह सच होगा:getHost('http://google.com') == 'google.com'
मिलीमीटर

9

आप वर्तमान 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);

क्या मेजबान को प्राप्त करने का एक तरीका भी है जहां दस्तावेज़ के बजाय js फ़ाइल होस्ट की जाती है? एटीएम। मैं इस "कनेक्शन" स्ट्रिंग को प्राप्त करने के लिए js फ़ाइल सर्वर साइड में हेरफेर कर रहा हूं जो काम करता है लेकिन अक्षम दिखता है क्योंकि मैं एक स्थिर js फ़ाइल पसंद करूंगा।
येलोव्सिर

6

jQuery की जरूरत नहीं है, सरल जावास्क्रिप्ट का उपयोग करें:

document.domain

शायद इसकी जरूरत नहीं है लेकिन यह कहते हुए कि आप इस सवाल का जवाब नहीं दे रहे हैं
एमिलियानो

हाँ, मैं ऐसा रोबोट नहीं हूँ जो इस प्रश्न का उत्तर देता है। मैंने इस सवाल का व्यावहारिक जवाब दिया कि अंतिम लक्ष्य क्या था और आपको लक्ष्य प्राप्त करने के लिए jQuery की आवश्यकता नहीं है।
एडम

मैं समझता हूं कि इस तरह का उत्तर पूर्ण नहीं है, यदि आप चाहें तो बेहतर उत्तर दे सकते हैं
एमिलियानो

3

document.baseURIआपको डोमेन + पोर्ट देता है। यदि कोई छवि टैग किसी निरपेक्ष पथ के बजाय किसी रिश्तेदार का उपयोग करता है तो इसका उपयोग किया जाता है। शायद पहले से ही हल है, लेकिन यह अन्य लोगों के लिए उपयोगी हो सकता है।



1

इसे देखो

alert(window.location.hostname);

यह www.domain.com के रूप में होस्ट नाम लौटाएगा


0

जहाँ तक मुझे लगता है कि किसी ने jquery समाधान नहीं बल्कि देशी जावास्क्रिप्ट कोड पोस्ट किया है।

आपको यूआरएल को एक स्ट्रिंग के रूप में पास करना होगा और इसे रेगेक्सपी का उपयोग किए बिना होस्ट मिलेगा।

function getHostFromUrl(urlString) {
    return $a = $('<a>', {
        'href': urlString
    }).prop('host');
}

-2
//If url is something.domain.com this returns -> domain.com
function getDomain() {
  return window.location.hostname.replace(/([a-z]+.)/,"");
}

-4
//If url is something.domain.com this returns -> domain.com
function getDomain() {
  return window.location.hostname.replace(/([a-zA-Z0-9]+.)/,"");
}

3
लेकिन अगर url में पहले से ही उपसर्ग नहीं है, तो यह डोमेन नाम को हटा देगा .. उदाहरण: "stackoveflow.com" "com" बन जाएगा
Filipiz

Some people, when confronted with a problem, think "I know, I'll use regular expressions." Now they have two problems.- जेमी
ज़्विन्स्की
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.