Komunikacja między stroną nadrzędną (partnera) a stroną osadzoną w iframe (kalkulatorem KioskPolis) odbywa się bez wykorzystania zewnętrznych bibliotek (rozwiązanie natywne).
README
Mechanizm wspiera trzy tryby wyświetlania pop-upów, które można aktywować przekazując w url parametr
modalBehaviourStrategy z odpowiednią wartością jak niżej.
-
STANDARD
- brak blokowania scrollowania przy otwartym pop-upie - zawartość scrolluje się w obrębie strony
nadrzędnej,
- pozycja pop-upu jest obliczana przy jego otwarciu oraz zmianie wysokości iframe'a,
- brak aktualizacji pozycji pop-upu w odpowiedzi na scrollowanie strony,
- pop-up wyświetlany jest z wysokością całej swojej zawartości.
-
DISABLE_SCROLLING - tryb domyślny
- wyłączenie scrollowania strony nadrzędnej, jeśli pop-up jest otwarty,
- brak konieczności aktualizacji pop-upu w odpowiedzi na scrollowanie strony nadrzędnej (wyłączone),
- pop-up wyświetlany jest z maksymalną wysokością stanowiąca 100% widocznej zawartości iframe'a -
możliwe jest jego scrollowanie.
-
REAL_TIME
- brak blokowania scrollowania przy otwartym pop-upie - zawartość scrolluje się w obrębie strony
nadrzędnej,
- aktualizacja pozycji pop-upu wykonywana jest przy jego otwarciu, zmianie wysokości iframe'a oraz w
odpowiedzi na scrollowanie strony nadrzędnej (pop-up podąża za scrollem),
- pop-up wyświetlany jest z maksymalną wysokością stanowiąca 100% widocznej zawartości iframe'a -
możliwe jest
jego scrollowanie.
Tryb wyświetlania pop-upów jest ustawiany przez partnera w skrypcie kioskpolis-native-iframe-1.0.0.js (obiekt CONFIG).
Rekomendowanym trybem jest REAL_TIME, w którym pop-up w miarę scrollowania pozostaje w widocznej części
iframe'a, aczkolwiek należy pamiętać, że tryb ten zakłada bardziej zaawansowaną komunikację między stroną
nadrzędną i iframem, w której strona nadrzędna wysyła do iframe'a dane w odpowiedzi na scrollowanie strony.c
Domyślnie, dane w tym trybie pozwalające na wyliczenie pozycji pop-upu, wysyłane są natychmiast w odpowiedzi na
zdarzenie scrollowania.
Mechanizm pozwala na zdefiniowanie opóźnienia wysyłki tych danych, dzięki czemu event wysłany zostanie raz po
upłynięciu określonego czasu od zakończenia scrollowania.
Odpowiada za to pole realTimeScrollDelay w obiekcie CONFIG, w którym można zdefiniować ten czas w milisekundach.
Ustawienie tego opóźnienia istotnie zredukuję liczbę eventów, ale adekwatnie opóźni również aktualizację pozycji
pop-upu.
Demo pozwala na przekazanie w url dwóch parametrów sterujących trybem wyświetlania pop-upu
(modalBehaviourStrategy) oraz opóźnienia aktualizacji jego pozycji w trybie REAL_TIME (realTimeScrollDelay),
np.:
?modalBehaviourStrategy=REAL_TIME&realTimeScrollDelay=100.