2015-01-22 14 views
9

Czy istnieje sposób użycia modalnej funkcji Bootstrap do oceny adresu URL parametrów i automatycznego otwarcia modalu?Pokaż mod ładowania początkowego tylko jeśli URL ma pewne parametry

Na przykład:

odwiedzającym stronę z adresem URL: example.com nie widać modalnej. Po prostu widzą zwykłą stronę.

Użytkownicy witryny z adresem URL example.com?offer=1234 lub example.com/offer1234 zobaczą zwykłą witrynę example.com, ale ze specjalnym modułem nad stroną po załadowaniu strony.

Nie można wymyślić żadnego sposobu, aby to zrobić.

Odpowiedz

12

Oczywiście, jest to możliwe tylko przez uruchomiony jakiś kod JavaScript jeśli ciąg kwerendy (oferta = 1234) lub URL (/ offer1234) dopasowane.

Wstaw ten kod javascript gdzieś po div gdzie modalna jest zadeklarowana, zazwyczaj najlepiej dodać tuż przed kończącym </body> tagu:

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

Można dostosować if jednak chcesz wykluczyć tylko jedno oświadczenie po obu stronach symbolu podwójnej rurki || (LUB), jeśli chcesz przetestować tylko jeden z tych wzorców adresów URL i gdzie myModal definiuje element div z treścią modalną do wyświetlenia (np. <div id="myModal"></div>).

Zobacz dokumentację, aby uzyskać więcej opcji i wskazówek. http://getbootstrap.com/javascript/#modals-options

Aktualizacja Mam również ułożyła Plunker pracuje dla Ciebie wykazując: http://run.plnkr.co/yEBML6nxvxKDf0YC/?offer=1234

+0

Czy to rzeczywiście działa z 'example.com/offer'? Czy to nie spróbuje znaleźć katalogu? – jonmrich

+0

Mam zaktualizowany kod demo. Nie zrobi tego, jeśli cały ten kod zostanie zainstalowany w offer1234.html lub ta ścieżka w jakiś sposób zostanie rozwiązana, nie jestem zaznajomiony z twoją instalacją. – GONeale

+0

Twój pnkr nie otworzył dla mnie modala. Nie mogę również uruchomić kodu w mojej witrynie. – jonmrich

0

Można sprawdzić adres URL, jeśli ma „oferta”, czy nie, aby ukryć/pokazać modalna

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

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

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

Co by struktura URL musi wyglądać to zadziałało. Próbowałem 'example.com? Offer = 1234' i to nie działało. – jonmrich

+0

@IsabelHM Element div będzie musiał zostać zadeklarowany powyżej kodu js i oczywiście zawinięty w znaczniki skryptu, ale to jest dane. – GONeale

+0

To po prostu nie działa dla mnie nawet z div przed scenariuszem. – jonmrich

Powiązane problemy