mardi 3 avril 2007
L'énigme des popup résolue !
Par Cédric Villain, mardi 3 avril 2007 à 14:57 :: Reflexions
Voici donc le code qui va bien pour faire un popup depuis Flash. Je rappelle la méthode :
Un bout de code définit une fonction javascript, elle est incluse dans l'entête (entre les balises <head> et </head>) du fichier HTML dans lequel le fichier flash est positionné :
Dans le fichier SWF, on fait un habituel GetURL (sur un bouton, dans une frame...) en précisant dans le code les options de la fonction :
Les propriétés de la fonction window.open, outre celles citées dans le code (status, scrollbar, resizable...) sont visibles sur cette page et peuvent être ajoutés dans le GetURL.
A noter que, pour des raisons de sécurité expliquées sur ces pages du site d'Adobe (9 pages en anglais), il n'est pas possible à un fichier SWF de lancer un popup en local (CàD sur l'ordinateur) pour éviter que Flash puisse accéder à des données personnelles sans l'avis de l'usager.
Mais le code fonctionne parfaitement en ligne si les fichiers sont placés sur un serveur.
A noter qu'il est possible de passer outre cette limitation locale des fichiers SWF si le poste dispose d'internet ; il suffit alors de se rendre à cette adresse pour modifier les réglages en ajoutant le dossier dans lequel les fichiers se trouvent (par exemple le bureau de l'ordinateur).
Quelle histoire...
Démonstration.
Un bout de code définit une fonction javascript, elle est incluse dans l'entête (entre les balises <head> et </head>) du fichier HTML dans lequel le fichier flash est positionné :
<script language="JavaScript">
function MM_openBrWindow(theURL,winName,features) {
window.open(theURL,winName,features);
}
</script>
Dans le fichier SWF, on fait un habituel GetURL (sur un bouton, dans une frame...) en précisant dans le code les options de la fonction :
on (release) {
getURL("javascript:MM_openBrWindow ('chemin/nom_du_fichier.html', 'nom_de_la_fenetre', 'width=500, height=500, status=no, scrollbars=no, resizable=no, titlebar=no')");
}
Les propriétés de la fonction window.open, outre celles citées dans le code (status, scrollbar, resizable...) sont visibles sur cette page et peuvent être ajoutés dans le GetURL.
A noter que, pour des raisons de sécurité expliquées sur ces pages du site d'Adobe (9 pages en anglais), il n'est pas possible à un fichier SWF de lancer un popup en local (CàD sur l'ordinateur) pour éviter que Flash puisse accéder à des données personnelles sans l'avis de l'usager.
Mais le code fonctionne parfaitement en ligne si les fichiers sont placés sur un serveur.
A noter qu'il est possible de passer outre cette limitation locale des fichiers SWF si le poste dispose d'internet ; il suffit alors de se rendre à cette adresse pour modifier les réglages en ajoutant le dossier dans lequel les fichiers se trouvent (par exemple le bureau de l'ordinateur).
Quelle histoire...
Démonstration.