2010-09-03 3 views
4

-je utiliser:Puis-je écrire du code HTML dans Window.showModalDialog()?

Window.showModalDialog(...) 

pour ouvrir une fenêtre de dialogue,

Je veux montrer un code HTML dans cette fenêtre, mais je ne dispose pas d'un fichier. (Ne peut pas utiliser l'URL pour visiter)

comme show "hello world!" dans cette fenêtre de dialogue.

Puis-je le faire?

Répondre

3

Question intéressante! Je ne suis pas un expert en boîtes de dialogue modales, mais je ne pense pas que vous le puissiez, car il est dans la nature d'une boîte de dialogue modale de bloquer l'exécution de tout autre code jusqu'à ce que la fenêtre soit à nouveau fermée.

Je pensais à l'aide d'un data: URI que vous pouvez utiliser comme premier argument à showModalDialog au lieu d'une URL normale:

window.showModalDialog("data:text/plain;base64,SGVsbG8sIFdvcmxkIQ%3D%3D" ....); 

mais selon le MSDN page on data: URIs, qui ne sera pas pris en charge dans Internet Explorer. (Voir la section "Remarques" sur la page liée)

Il pourrait fonctionner dans Firefox, cependant: More on data URIs at Mozilla Developer Central

Mise à jour: Il fonctionne dans Firefox: JSFiddle mais, comme prévu, pas dans IE. Vous obtenez seulement une fenêtre vide là.

0

Bonne question et réponse. (+1)

Je pensais juste ajouter, que si vous devez devez entrer HTML dans une boîte de dialogue modale, vous pouvez vouloir utiliser une bibliothèque Javascript pour l'accomplir. J'ai utilisé "dijit.Dialog" de Dojo plusieurs fois avec le HTML, y compris les images, les contrôles de forme etc ... Vous pouvez le styler comme vous le souhaitez, et il fonctionne bien cross-browser. Vous pouvez consulter quelques exemples d'utilisation de dijit.Dialog sur DojoCampus.

Cheers.

Questions connexes