Une boîte de dialogue JavaScript modale peut-elle être modale uniquement pour l'onglet et non pour la fenêtre entière du navigateur?
-
08-07-2019 - |
Question
window.showModalDialog ()
crée un dialogue modal qui bloque tous les onglets.
J'aimerais savoir s'il existe un moyen de créer un dialogue modal qui bloque uniquement l'onglet dans lequel il a été créé?
La solution
Vous pouvez utiliser l'un des dialogues modaux plus "semblables à Ajax", qui ne sont que des divs à positionnement absolu, flottant au-dessus de tout le reste.
Celles-ci sont modales par rapport au "document" et non au navigateur.
Regardez par exemple le ce plugin jQuery
. P.S. showModalDialog ()
est un appel IE uniquement, vous voudrez peut-être ne pas l'utiliser complètement.
Autres conseils
Nope. Il est concevable que le couplage lâche d'IE8 soit & # 8217; pourrait se comporter de la sorte à un moment donné, mais cela n’est pas le cas dans les bêtas actuelles.
J'appuie la recommandation de Michiel. Un pseudo-dialogue modal opérant en masquant le reste de la page, en plaçant un div en haut et en rappelant le script une fois terminé, est à la fois:
- beaucoup plus utilisable / moins ennuyeux qu'un vrai dialogue modal
- compatible avec tous les navigateurs
showModalDialog / showModelessDialog eux-mêmes sont généralement à éviter.
Firefox 3 prend en charge window.showModalDialog (mais il bloque également tous les onglets ).