Mein Kunde möchte beim Eingeben einer Webseite eine Warnung anzeigen.
Eine Warnung blockiert jedoch das weitere Laden der Seite, bis "Ok" geklickt wird und die Seite im Hintergrund geladen werden muss, während die Warnung angezeigt wird.
Eine Lösung wäre die Verwendung einer benutzerdefinierten Warnung mit HTML und CSS, die jedoch nicht den Anforderungen des Kunden entspricht.
Gibt es eine Lösung, die 'core javascript' oder jQuery verwendet, damit die Seite geladen werden kann, während die Warnung angezeigt wird? Danke.
Sie sollten es durch einen setTimeout ausführen:
%Vor%Dies wird hier gezeigt: Gibt es eine JavaScript-Warnung, die das Skript nicht pausiert? ?
BEARBEITEN
Siehe @ FunKy's Antwort für eine Problemumgehung in Firefox. (wirklich interessant!)
Einfache Antwort ist nein, das ist nicht möglich!
Der Grund ist nativ% alert()
dialog ist UI-Blockierung und JavaScript ist eine einzelne Thread-Sprache.
Sie müssen eine benutzerdefinierte Dialognachricht verwenden.
Wenn jedoch eine Ajax-Anfrage kurz vor dem Blockieren der Benutzeroberfläche durchgeführt wird, wird / sollte die Ajax-Antwort verfügbar sein, wenn der Dialog alert()
geschlossen ist. Also, Sie können immer noch eine Ajax-Anfrage machen, bevor Sie eine Warnung anzeigen.
Sie können ein benutzerdefiniertes Dialogfeld anstelle eines Benachrichtigungsfelds verwenden (welches das Laden von Seiten blockiert). Zum Beispiel, Jquery UI Dialog ist einfach zu bedienen (aber es gibt viele Plugins, die genau das gleiche tun ).
Tags und Links javascript jquery loading alert