Kann ein modaler Dialog JavaScript nur auf die Registerkarte und nicht auf die gesamten Browser-Fenster modal sein?

StackOverflow https://stackoverflow.com/questions/287242

  •  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?

War es hilfreich?

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 ).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top