Popup special(modal - modeless dialog)

5/5 (33 avis)

Snippet vu 44 036 fois - Téléchargée 30 fois

Contenu du snippet

C'est un petit tutoriel qui vous permet d'afficher un MODAL ou MODELESS DIALOG en quelques lignes de code. Voir la capture pour un exemple.

Source / Exemple :


MODAL DIALOG
showModalDialog()

MODELESS DIALOG
showModelessDialog()

1) La syntaxe du code:

window.showModalDialog(sUrl [, sArguments] [, sAutre]);
window.showModelessDialog(sUrl [, sArguments] [, sAutre]);

a) sUrl: URL du site à ouvrir dans le dialogue
b) vArguments: Paramètre facultatif pour passer une valeur de n'importe quel type au dialogue
c) sAutre: Vous pouvez ajouter des paramètres facultatifs ici. Voici la liste des paramètres:
     
    dialogHeight: la hauteur du dialogue
    dialogLeft: position X du dialogue
    dialogTop: position Y du dialogue
    dialogWidth: la largeur du dialogue
    center: centrer le dialogue ( yes | no | 1 | 0 | on | off ) 
    dialogHide: rendre invisible le dialogue ( yes | no | 1 | 0 | on | off ) 
    edge: bordure ( sunken | raised ) 
    help: bouton '?' en haut avec le titre ( yes | no | 1 | 0 | on | off ) 
    resizable: l'utilisateur peut changer les grandeurs du dialogue ( yes | no | 1 | 0 | on | off )
    scroll: ( yes | no | 1 | 0 | on | off )
    status: barre d'état ( yes | no | 1 | 0 | on | off )
    unadorned: ( yes | no | 1 | 0 | on | off )

Les modelessdialog sont indépendants des pages visitées. Vous pouvez les tasser et bouger la page que vous visiter tandis que les modaldialog restent devant la page.

2) Exemple:

<script>
window.showModalDialog('page.html','','dialogHeight: 400px; dialogWidth: 500px; center: Yes; help: No; resizable: No; status: No;');
</script>

Conclusion :


merci de m'aviser s'il y a des bugs

bob3000
http://www.netdude.tk

A voir également

Ajouter un commentaire Commentaires
cs_AbriBus Messages postés 492 Date d'inscription jeudi 28 août 2003 Statut Membre Dernière intervention 25 avril 2007 5
12 juin 2006 à 11:43
Hmmm... tres interressant... je vais voir ca... Si ca fonctionne ca serait cool.
J'immagine que netscape.security.PrivilegeManager.enablePrivilege('UniversalBrowserWrite'); ne doit figurer que si le client n'est pas IE bien sur.
Ca fait beaucoup penser a java :P
Merci Bridloaque

AbriBus
bridloaque Messages postés 1 Date d'inscription lundi 12 juin 2006 Statut Membre Dernière intervention 12 juin 2006
12 juin 2006 à 11:06
Pour Firefox, la soluce afin que 'modal' soit pris en compte et géré correctement :
avant le window.open avec option modal,
faire "netscape.security.PrivilegeManager.enablePrivilege('UniversalBrowserWrite');"
(voir, au besoin, la configuration du fichier user.js de Firefox pour configurer correctement les droits)

Voilà !
cs_AbriBus Messages postés 492 Date d'inscription jeudi 28 août 2003 Statut Membre Dernière intervention 25 avril 2007 5
18 mai 2006 à 23:59
J'ai deposé un petit src quand meme... je l'ai un peu embelli par rapport au post que j'avais fait ici meme un peu plus haut... etpuis j'ai mis plus de commentaires et un peu plus d'intelligence... normalement, ca ne devrait produire aucune erreur javascript quelque soit le navigateur et sa version. J'y fait egalement de l'extraction de parametres en javascript.
Dispo: http://www.javascriptfr.com/code.aspx?ID=37659

Bon' Prog'
'BriBus
axuz Messages postés 3 Date d'inscription mardi 21 février 2006 Statut Membre Dernière intervention 15 mai 2006
15 mai 2006 à 13:07
En fait je dois adapter un programme déjà existant et fonctionnant parfaitement sous IE pour qu'il soit compatible FireFox... et ce principe de fenetre modale pour réaliser une pause est utilisée pour chaque ouverture de page (dans nouvelle fenetre ou dans une frame ...).
En conclusion de mon étude de faisabilité j'ai dis qu'il fallait réfléchir à une autre manière d'approcher la chose, mais les modifications sont très importantes ! Ce projet est donc en "pause" lol

Et ben si quelqu'un à une alternative qu'il le fasse savoir!

Merci

AxuZ
cs_AbriBus Messages postés 492 Date d'inscription jeudi 28 août 2003 Statut Membre Dernière intervention 25 avril 2007 5
11 mai 2006 à 18:29
C'est tout a fait ca azux, FF n'est pas multithread... et il ne reconnait pas de fonction javascript qui permettre de le mettre en "pause"... sinon, il y aurait bien eut la bonne vielle methode à la QBasic de faire une boucle dont la condition de sortie aurait été la fermeture de la fenetre mais si tu fais ca (vu qu'il y a pas de pause) ca te claque ton UC à 100% tant que t'as pas fermé ta fenetre... en plus (et heureusement je dirais) au bout d'une dizaine de seconde, FF te previent que "un script ne repond plus" (normal puisqu'il boucle)... donc pour le moment, pas de solution technique au probleme sauf a utiliser ces fameux alerte() prompt() et confirm() (trop moche !! beark :()
Il est vrai que le principe de modalité n'est pas simple a expliquer. Il est pareillement vrai que cette histoire avec FF c'est un peu la daube parceque les clients quand ils ont une idee dans la tete, ils l'on pas ailleur ! Sans pretention, je pense que les exigences qui m'ont été communiquées sont au moins aussi strictes que les tiennes... (et je comprend donc fort bien que tu sois dans le "petrin")

Bon courrage
'BriBus

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.