2011-12-20 18 views
5

क्या कोई (मूल) जावास्क्रिप्ट एपीआई है जो कस्टम यूआरएल के लिए window.location की "कार्यक्षमता" प्रदान करता है?यूआरएल प्रबंधन सुविधा?

var url = new URL("http://stackoverflow.com/question?hello=world#foo"); 
console.log(url.hostname, url.path); 
// out: "stackoverflow.com", "/question" 
url.hash = "bar"; 
url.query = ""; 
console.log(url); 
// out: "http://stackoverflow.com/question#bar" 

मैं निश्चित रूप से निश्चित हूं कि इसके लिए कोई मूल एपीआई नहीं है (किस कारण से)। अगर किसी ने इसे लागू किया है, तो कृपया लिंक साझा करें।

+0

संभव डुप्लिकेट http://stackoverflow.com/questions/736513/how-do-i- पार्स एक यूआरएल-में-होस्ट नाम और पथ में जावास्क्रिप्ट) – Cameron

+0

सवाल @Cameron समान हो सकते हैं, लेकिन पुस्तकालय है कि मैं से जुड़ा हुआ उदाहरण के लिए वहाँ नहीं है (और शायद अन्य समाधान के साथ-साथ)। – deviousdodo

+0

@draevor: हाँ, दोनों को रखने के लिए सबसे अच्छा हो सकता है (या उन्हें विलय हो सकता है, शायद)। – Cameron

उत्तर

3

तो जवाब है हां और होगा नहीं।

कुछ जवाब पता चलता है, आप एक एंकर तत्व बना सकते हैं और इसका इस्तेमाल पार्स, जो मूल रूप से मूल कोड है करने के लिए कर सकता है।

var url = document.createElement("A"); 
url.href = "http://stackoverflow.com/question?hello=world#foo"; 

console.log('// expected: "stackoverflow.com", "/question"'); 
console.log('//  got: "' + url.hostname + '", "' + url.pathname + '"'); 
output -->   got: "stackoverflow.com", "/question" 

url.hash = "bar"; 
url.search = ""; 

console.log('// expected: "http://stackoverflow.com/question#bar"'); 
console.log('//  got: "' + url.href + '"'); 
output -->   got: "http://stackoverflow.com/question?#bar" 

लाइव डेमो: http://jsfiddle.net/roberkules/H48dt/

फर्क सिर्फ इतना है, है कि? क्वेरीस्ट्रिंग खाली होने के बाद हटाया नहीं गया है।

"API":

url.protocol 
url.host 
url.port 
url.pathname 
url.search 
url.hash 
+0

नहीं पता था कि संभव था, धन्यवाद। (हालांकि, ज्यादा मदद नहीं करता है) – rodneyrehm

2

चूंकि यूआरएल के साथ काम करने के लिए कोई उपयोगी एपीआई था, मैं एक स्वयं बनाया: URI.js

यह आपको एक jQuery की तरह एपीआई के माध्यम से एक यूआरएल के/लिखने घटकों को पढ़ने के लिए अनुमति देता है और, क्वेरी स्ट्रिंग के साथ काम करने यूआरएल को सामान्य और रिश्तेदार/पूर्ण पथ बनाने के लिए कुछ उपयोगी सुविधाओं है।

मेरी क्रिसमस का आनंद लें :)

की [मैं होस्ट नाम और जावास्क्रिप्ट में मार्ग में एक URL कैसे पार्स करते हैं?] (
संबंधित मुद्दे