Kilka widgetów na jednej stronie
Piotr Sadowski avatar
Napisane przez Piotr Sadowski
Zaktualizowano ponad tydzień temu

Często słyszymy to pytanie: Co się stanie jak zostaną spełnione reguły wyświetlania dwóch ankiet na stronę WWW? Czy wtedy pojawią się na stronie równocześnie?

Odpowiedź brzmi TAK. W nowej wersji tej formy dystrybucji (ankieta jako popup na stronie) jeżeli uruchomisz dwie ankiety, które powinny się pojawiać na każdej stronie i każdemu użytkownikowi, to w jednej chwili pojawią się dwie ankiety.

W takiej sytuacji warto zadbać o to, aby jeden popup nie zasłaniał drugiego - o ile to zamierzony cel.

Wyjątkiem jest sytuacja w której jedna z ankiet zostanie już wypełniona. Wówczas będzie się wyświetlać tylko ta, która wypełniona jeszcze nie była.

Wymuszenie kolejności wyświetlania się widgetów

Jeżeli chcesz wymusić kolejność wyświetlania się widgetów to możesz to zrobić przy użyciu reguły wyświetlania w oparciu o kod JavaScript.

Załóżmy, że chcesz, aby najpierw wyświetliła się ankieta o ID 123456, a dopiero jak ta zostanie wypełniona powinna się wyświetlić ankieta o ID 654321.

Żaby to tak zadziałało w ankiecie numer 2 musisz zdefiniować następującą regułę wyświetlania


function widgetJSRule() {
var itemName = 'startquestion-widget-123456';
var item = localStorage.getItem(itemName);
item = JSON.parse(item);
if(item.filled) {
complete(true);
}
else {
complete(false);
}
}

Informacja o tym, że dana ankieta jest wypełniona znajduje się w localstorage pod kluczem 'startquestion-widget-123456'.

Pod tym kluczem znajduje się obiekt, który posiada pole filled. W zależności od wartości tego pola wiadomo czy ankieta została już wypełniona.

Czy to odpowiedziało na twoje pytanie?