Kann ein modaler Dialog JavaScript nur auf die Registerkarte und nicht auf die gesamten Browser-Fenster modal sein?
-
08-07-2019 - |
Frage
Moderner Browser hat mit mehreren Registerkarten, aber JavaScript-Funktion window.showModalDialog()
erstellt einen modalen Dialog blockiert alle des Reiters.
Ich würde gerne wissen, ob es eine Möglichkeit ist, einen modalen Dialog zu schaffen, dass die Blöcke nur die Registerkarte in der sie erstellt wurden?
Lösung
Sie eine der ‚Ajax-like‘ modale Dialoge verwenden könnte, die nur absolute positioniert divs sind, schwimmen oben auf alles andere.
Das ist modal zum 'Dokument' und nicht der Browser.
Zum Beispiel werfen Sie einen Blick es die jQuery-Plugin
P. S. showModalDialog()
ist ein IE nur nennen, so dass Sie nicht, dass insgesamt vielleicht verwenden möchten.
Andere Tipps
Nein. Es ist denkbar, IE8 ‚lose Kopplung‘ könnte wie folgt irgendwann verhalten, aber es funktioniert nicht in der aktuellen Betas.
I zweite Michiel Empfehlung. Ein pseudo-modal-Dialog arbeiten, indem der Rest der Seite verdunkeln, ein div auf schwimmen, und ruft, wenn das Skript zurück es fertig ist, ist beides:
- viel mehr verwendbar / weniger störend als ein echter modaler Dialog
- kompatibel mit jedem Browser
showModalDialog / showModelessDialog selbst ist in der Regel vermieden werden.
Firefox 3 unterstützt window.showModalDialog (aber es blockiert auch alle Registerkarten ).