2016-01-23 28 views
5

Jaki jest sposób wyświetlenia komunikatu po rozpoczęciu ładowania strony ... czy załadowanie html itp. Może potrwać 1 minutę?Wyświetlaj komunikat, gdy DOM nie jest załadowany

Jest to strona internetowa rezerwacji biletów, w której jedna rozpocznie płatność za pomocą karty bankowej lub kredytowej. W godzinach szczytu witryny banków mogą ładować się powoli lub nie ładować. W tym czasie chcę pokazać wiadomość, przez którą klient może kliknąć i wrócić od razu do strony początkowej rezerwacji, jeśli strona bankowa nie załaduje się lub będzie ładować przez minutę lub dwie.

Podczas dokonywania płatności klient mógł przejść 2-4 strony. Ponieważ wszystkie strony używają funkcji POST .. użycie przycisku Wstecz powoduje błąd pamięci podręcznej itd. Jednak strona początkowa rezerwacji może być osiągnięta za pomocą adresu URL GET.

+0

Biorąc pod uwagę, że sposoby na to są z pewnością różne w Firefoksie i Chrome, proponuję dwa osobne pytania. – Xan

+0

Co masz na myśli przez "ładowanie rozpoczyna się" i "pokazywanie wiadomości"? Oba mogą być interpretowane na wiele sposobów. –

+0

@RobW Zaktualizowałem to – user5858

Odpowiedz

0

W Firefoksie, można pokazać pasek powiadomień, i jak ładuje można go usunąć - https://developer.mozilla.org/en-US/Add-ons/Code_snippets/Alerts_and_Notifications#Using_notification_box

pasku powiadomień mogą być widoczne na wszystkich kartach, lub po prostu dana karta, kod ten sprawia, że ​​bar będzie widoczne tylko w tej zakładce:

var message = 'Another pop-up blocked'; 
var box = gBrowser.getNotificationBox(); 
var notification = box.getNotificationWithValue('popup-blocked'); 
if (notification) { 
    notification.label = message; 
} 
else { 
    var buttons = [{ 
     label: 'Button', 
     accessKey: 'B', 
     popup: 'blockedPopupOptions', 
     callback: null 
    }]; 

    let priority = box.PRIORITY_WARNING_MEDIUM; 
    box.appendNotification(message, 'popup-blocked', 
          'chrome://browser/skin/Info.png', 
          priority, buttons); 
} 
0

Ten zarys powinno działać:

  1. strona 1 postów na żądanie strony 2
  2. strona 2 zwraca prostą stronę "ładującą" i tworzy wbudowane żądanie AJAX formularza, podczas gdy reszta strony ładuje się.
  3. wywołanie zwrotne z AJAX zapełnia stronę zgodnie z oczekiwaniami (zastępując kontener wysokiego poziomu), LUB możesz zaoferować radę, jeśli minie za dużo czasu.