मैं कैसे ट्रिमिंग/पृष्ठ नाम करने के लिए नीचे यूआरएल अलग करना के बारे में जाना होगा ...मैं यूआरएल को पेज नाम पर कैसे ट्रिम/स्ट्रिप कर सकता हूं?
तो: http://www.BurtReynoldsMustache.com/whatever/whoever/apage.html
बन गयी: apage.html
कोई भी विचार?
मैं कैसे ट्रिमिंग/पृष्ठ नाम करने के लिए नीचे यूआरएल अलग करना के बारे में जाना होगा ...मैं यूआरएल को पेज नाम पर कैसे ट्रिम/स्ट्रिप कर सकता हूं?
तो: http://www.BurtReynoldsMustache.com/whatever/whoever/apage.html
बन गयी: apage.html
कोई भी विचार?
आप jQuery की जरूरत नहीं है:
var url = window.location.href;
var page = url.substring(url.lastIndexOf('/') + 1);
संपादित करें: संभव क्वेरी स्ट्रिंग का एक अच्छा बिंदु:
// it might be from browser &/anywhere else
var url = window.location.href;
url = url.split('#').pop().split('?').pop();
var page = url.substring(url.lastIndexOf('/') + 1);
ठीक है, यदि स्थान वस्तु उपलब्ध है, उपयोग पथ बेहतर परिणाम दिखाने के नीचे के रूप में, हालांकि, एक यूआरएल एक स्ट्रिंग या पाठ क्षेत्र या काल/लेबल से सीधे कुछ हो सकता है देता है। तो समाधान के ऊपर इसकी जगह होनी चाहिए।
document.location.href.split('/').pop();
संपादित करें::
हैश और क्वेरीस्ट्रिंग्स – epascarello
के साथ विफल रहता है यह ठीक है, इस उदाहरण में इसकी आवश्यकता नहीं है - उसे वापस वोट दें :( –
उत्तर ठीक नहीं है जब अन्य साइट को खोजते समय लोगों को यह समाधान मिल जाएगा। यह अन्य लोगों के लिए असफल हो जाएगा। – epascarello
तो परीक्षण किया है नहीं compeltely अनुमान लगाया है, लेकिन मैं इस तरह यकीन है कि कुछ :-)
var url = 'http://www.BurtReynoldsMustache.com/whatever/whoever/apage.html';
var page = url.split('/');
alert(page[page.length-1]);
संपादितjsfiddle के तहत परीक्षण करना होगा हूँ और यह गलत था, इसके बाद के संस्करण कोड अब काम करना चाहिए: -)
यह भी एक अच्छा है, लेकिन ... सरणी अनुक्रमणिका शून्य आधारित है। – BalusC
मैंने संपादित किया है और अब यह काम करता है :-) –
हैश और क्वेरी स्ट्रिंग्स के साथ विफल – epascarello
आप कुछ इस तरह कर सकता है तो आप शायद क्वेरी स्ट्रिंग से छुटकारा पाने के लिए करना चाहते हैं वहाँ भी एक है:
document.location.href.split('/').pop().split('?').shift();
संपादित करें 2: यह भी ध्यान नहीं देगा यूआरएल में एक एंकर अगर
document.location.href.split('/').pop().split(/\?|#/).shift();
यह क्वेरी और हैश मानों को भी बहिष्कृत करना चाहिए। , host
, port
, pathname
, search
और hash
:
var path = location.href;
path = path.substring(path.lastIndexOf("/") + 1);
path = path.split("?")[0].split("#")[0];
console.debug(path);
location
और किसी भी लिंक (<a>
) पृष्ठ पर तत्वों के साथ, आप गुण है कि आप यूआरएल के विशिष्ट भागों देने का भार मिलता है।
आपको href
के साथ हैकिंग के लिए यूआरएल के कुछ हिस्सों को निकालने के लिए हमेशा इन गुणों का उपयोग करना चाहिए और शायद इसे कोने के मामलों के लिए गलत हो रहा है। उदाहरण के लिए, यहां पोस्ट किए गए हर समाधान में असफल हो जाएगा यदि ?query
या #fragment
मौजूद है। रोब और डिजिटल फ्रेश से जवाब उनके साथ सामना करने का प्रयास करते हैं, लेकिन फिर भी असफल हो जाएंगे यदि /
वर्ण क्वेरी स्ट्रिंग या खंड (जो मान्य है) में मौजूद है।
इसके बजाय, बस:
var pagename= location.pathname.split('/').pop();
समाधान यहाँ के अधिकांश लाभ window.location ऑब्जेक्ट की नहीं ले रहे हैं। स्थान ऑब्जेक्ट में इस अद्भुत चीज़ को पथनाम कहा जाता है जो केवल पथ, कोई क्वेरी स्ट्रिंग, होस्ट, प्रोटोकॉल, हैश इत्यादि देता है।
var mypage = window.location.pathname.split("/").pop();
यह है कि इस का हल jQuery की जरूरत नहीं है, यह देखकर के रूप में यह एक ज्ञात तथ्य यह है कि jQuery [बर्ट रेनोल्ड्स के साथ संगत नहीं] है अच्छा है (http://stackoverflow.com/questions/3193211/help- मुझे कदम-बर्ट-रेनॉल्ड्स-सामना jQuery)। –
मेमे निरंतरता के लिए +1: डी –
हाँ, चीयर्स मार्करोबिन्सन –