2015-01-22 8 views
9

बूटस्ट्रैप मोडल दिखाएं क्या पैरामीटर के लिए यूआरएल का मूल्यांकन करने और स्वचालित रूप से मोडल खोलने के लिए बूटस्ट्रैप की मोडल कार्यक्षमता का उपयोग करने का कोई तरीका है?केवल यूआरएल के कुछ पैरामीटर

उदाहरण के लिए: यूआरएल के साथ साइट के लिए

आगंतुक: example.com मोडल नहीं दिख रहा। वे सिर्फ नियमित साइट देखते हैं।

यूआरएल example.com?offer=1234 या example.com/offer1234 के साथ साइट पर आगंतुक नियमित example.com साइट देखते हैं, लेकिन पेज लोड होने पर शीर्ष पर एक विशेष मोडल के साथ।

ऐसा करने के किसी भी तरीके से पता नहीं लगा सकता है।

उत्तर

12

हाँ, निश्चित रूप से यह संभव ही कुछ जावा स्क्रिप्ट कोड चलाकर है URL की जाँच कर सकते हैं अगर क्वेरी स्ट्रिंग (प्रस्ताव = 1234) या यूआरएल (/ ऑफर 1234) मिलान किया गया।

सम्मिलित इस जावास्क्रिप्ट कोड कहीं div के बाद जहां अपने मॉडल घोषित किया जाता है, आम तौर पर सबसे अच्छा आपके समाप्त होने </body> टैग से पहले बस में जोड़ने के लिए:

<script type="text/javascript"> 
var url = window.location.href; 
if(url.indexOf('?offer=1234') != -1 || url.IndexOf('/offer1234') != -1) { 
    $('#myModal').modal('show'); 
} 
</script> 

आप अगर बयान जैसे आप चाहें ठीक कर सकते हैं, केवल एक बयान को बाहर डबल पाइप प्रतीकों के दोनों ओर || (OR) यदि आप केवल उन यूआरएल पैटर्नों में से एक का परीक्षण करना चाहते हैं, और जहां myModal प्रदर्शित करने के लिए अपनी मोडल सामग्री के साथ एक div को परिभाषित करता है (उदाहरण के लिए <div id="myModal"></div>)।

अधिक विकल्प और दिशानिर्देशों के लिए दस्तावेज़ देखें। http://getbootstrap.com/javascript/#modals-options

अद्यतन मैं भी एक साथ आप प्रदर्शन करने के लिए एक काम Plunker डाल दिया है: http://run.plnkr.co/yEBML6nxvxKDf0YC/?offer=1234

+0

क्या यह वास्तव में 'example.com/ऑफर' के साथ काम कर सकता है? क्या यह निर्देशिका खोजने की कोशिश नहीं करेगा? – jonmrich

+0

मैंने कुछ डेमो कोड के साथ अद्यतन किया है। ऐसा नहीं होगा, अगर यह सब कोड ऑफर 1234.html में स्थापित है या वह पथ किसी भी तरह से कुछ एचटीएमएल को हल करता है, तो मैं आपके सेटअप से परिचित नहीं हूं। – GONeale

+0

आपके plnkr ने मेरे लिए एक मॉडल नहीं खोल दिया। मैं आपकी साइट पर या तो काम करने के लिए अपना कोड नहीं प्राप्त कर सकता हूं। – jonmrich

0

आप अगर यह "प्रस्ताव" है या छिपाने के लिए नहीं/दिखाने मोडल

var hasParam = window.location.href.indexOf('offer'); 

if(hasParam) { 
    $('#aModal').show(); 
} else { 
    $('#aModal').hide(); 
} 

<div id="aModal" class="modal"> </div> 
+0

काम करने के लिए URL संरचना को इस बात के लिए की तरह लग रहे करने के लिए होगा क्या। मैंने 'example.com? Offer = 1234' की कोशिश की और यह काम नहीं किया। – jonmrich

+0

@IsabelHM div को जेएस कोड के ऊपर घोषित किया जाना चाहिए और स्पष्ट रूप से स्क्रिप्ट टैग में लपेटा जाना चाहिए, लेकिन यह एक दिया गया है। – GONeale

+0

यह स्क्रिप्ट से पहले div के साथ भी मेरे लिए काम नहीं कर रहा है। – jonmrich

संबंधित मुद्दे