begin process at 2010 02 09 15:17:25
  Trouver un code source :
 
dans
 
Accueil > 

Tutoriels

 > 

Tutoriaux

 > EXÉCUTER UNE FONCTION JAVASCRIPT À PARTIR DE FLASH (EX: POUR UN CENTRAGE DE POPUP!)

EXÉCUTER UNE FONCTION JAVASCRIPT À PARTIR DE FLASH (EX: POUR UN CENTRAGE DE POPUP!)


 Information sur le tutoriel

Note :
8 / 10 - par 2 personnes
8,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

 Description

Utilisation de la classe ExternalInterface.

Tutorial

Ca va pas être long...

Fonction javascript qui permet de centrer une popup...à mettre sur la page HTML qui va contenir votre animation Flash:
<script language="javascript">
<!--
function winOpen(url, largeur, hauteur){
      gauche = (screen.width/2)-(
largeur/2);
      haut = (screen.height/2)-(
hauteur/2);
      window.open(url,"popup","height="+
hauteur+",width="+largeur+",status = no,toolbar = no,menubar = no,location = no,resizable = no,titlebar = no,scrollbars = yes,fullscreen = no,top ="+haut+",left ="+gauche);
   }
//-->
</script>



Et voici le petit bout de code à mettre dans votre animation:
import flash.external.ExternalInterface;

this.votreClip.onPress = function() {
    flash.external.ExternalInterface.call("winOpen","votrePopup.html",600,400);
}


@+! Samy

PS: je vous ferai peut-être un tuto sur l'utilisation inverse d'ExternalInterface (si j'ai le temps! lol) ...ça vous permettrait d'appeler une fonction dans l'animation Flash à partir de la page HTML qui contient l'animation!

PPS: merci à Cortoh de m'avoir fait découvrir cette classe super pratique!

PPPS:  NE FONCTIONNE QU'EN LIGNE...j'avais oublié de le préciser!

 Historique

10 avril 2006 15:24:53 :
Ajout de commentaires

Commentaires

Commentaire de Prouprou_Sensei le 14/04/2006 12:50:40

Simple, concis et trés utile...
Ca doit etre une nouvelle fonctionalité de flash 8, je ne l'avais jamais vue.
En tout cas c plus propre que l'ancien getURL(javascript:.....)
;)
Merci.

Commentaire de FluideGaz le 17/07/2006 11:28:27

salut
bon, c'est exactement ce que je veux faire mais, je ne comprends pas....
est ce que tu peux nous mettre un exemple pour:"à mettre sur la page HTML qui va contenir votre animation Flash"..
et, où faut il mettre dans l'animation le code que tu as filé?
merci d'avance...

Commentaire de goldenboy68 le 17/07/2006 17:51:33

"à mettre sur la page HTML":

tu mets le code "<script>...</script>" entre les balises "<head>" et "</head>" par exemple


Le bout de code à mettre dans l'animation:

tu cliques sur la première image de ton animation par exemple, tu ouvres le panneau "Actions" et tu colles.
(faut remplacer "votreClip" par le nom d'occurence d'un clip sur la scène).

Reste plus qu'à publier.

C'est dur d'expliquer plus.

@+! Samy

Commentaire de FluideGaz le 18/07/2006 16:17:01

ok, j'y suis arrivé mais sans utiliser votre truc...
par contre, les barres du haut ont bien disparues mais mon anim garde les meme dimensions et n'est pas centré...(si vous voulez voir, http://fluidegaz.free.fr

et encore merci

Commentaire de ubaldo le 28/07/2006 16:50:13

salut amis flasheurs

ce script fonctionne en ligne avec firefox mais pas avec safari ni explorer.
j'ai parcontre des srollbar verticales et horizontales et mon anim n'est pas centrée dans la fenetre qui elle est centrée dans l'écran.

aplus amigos

pereUb

Commentaire de goldenboy68 le 29/07/2006 10:17:43

Safari je sais pas, mais Explorer chez moi ça fonctionne. Pour les scrollbar, t'as dû oublier de changer les paramètres de hauteur et largeur en appelant la fonction javascript. Dans l'exemple, j'ai mis 600 et 400...faut remplacer par tes valeurs à toi.

@+! Samy

Commentaire de FluideGaz le 03/08/2006 17:47:27

toujours personne pour m'aider???

Commentaire de goldenboy68 le 04/08/2006 08:32:03

Salut Fluide!

J'ai regardé ton lien encore une fois, mais je ne vois toujours pas le rapport avec ce tuto. Tu devrais poster ta question sur le forum.

Ce tuto te permet à partir d'une animation flash, d'ouvrir une popup centrée en en précisant les dimensions...c'est pas prévu pour ouvrir ton anim en fullscreen.

@+

Commentaire de sydgin2 le 18/08/2006 15:56:02

Bonjour à tous !
voilà lorsque je colle le code destiné à ma première frame sous flash MX et que je lance le test d'animation j'ai le message d'erreur suivant :

Séquence = jeu, Calque = Calque 1, Image = 1 : Ligne 1 : ';' attendu
     import flash.external.ExternalInterface;

Je suppose qu'il m'indique que l'instruction "import" n'est pas comprise. quelqu'un peut il m'aider ?

Commentaire de sydgin2 le 18/08/2006 16:16:47

Pour préciser ma question je possède Flash MX version 6 : comment puis-je obtenir le même résultat avec ma version ? Comment ouvrir une page html externe depuis Flash, ou simplement changer le contenu d'un objet image sur ma page html depuis Flash ? Merci :)

Commentaire de sydgin2 le 18/08/2006 16:37:59

ahhh ben je pense avoir trouvé : sous flash je crée un bouton avec pour action le code suivant :

on (release) {
getURL ("javascript:winOpen('MaPopup.html',600,400)");
}

Ouali ouala, ça a l'air de fonctionner sous Firefox.

Commentaire de goldenboy68 le 18/08/2006 16:48:32

La fonction est apparue avec Flash 8 il me semble, donc c'est normal que ça buggue. N'ayant pas connu les versions avant MX2004, je ne pourrais pas te répondre. Désolé.

@+! Samy

Commentaire de rockon le 18/03/2008 20:16:02

Commentaire de sydgin2 le 18/08/2006 15:56:02 :

Bonjour à tous !
voilà lorsque je colle le code destiné à ma première frame sous flash MX et que je lance le test d'animation j'ai le message d'erreur suivant :

Séquence = jeu, Calque = Calque 1, Image = 1 : Ligne 1 : ';' attendu
     import flash.external.ExternalInterface;

Je suppose qu'il m'indique que l'instruction "import" n'est pas comprise. quelqu'un peut il m'aider ?

--------------------------------------------------------------------------------------------

Ce n'est pas du a la version il y a une erreur dans la ligne de code c'est
import.flash.external.ExternalInterface;  
il manquait un point tout simplement.
Cependant ce code ne fonctionne toujours pas sous IE pour moi



Commentaire de goldenboy68 le 19/03/2008 08:17:07

A priori, cette classe est apparue dans Flash 8, donc Flash MX ça m'étonnerait que ça marche...mais bon, p't'être qu'à la compilation ça passe et qu'ensuite ton player interprète ça correctement.

Sinon pour IE, c'est possible que tu aies testé en local, or en local cela ne marche pas. Une fois en ligne le code marche pour IE et FireFox (les autres j'ai pas testé).

@+! Samy

Commentaire de nolanne le 01/07/2008 16:35:21

justement en parlant de local moi j'aimerais faire un liens sur une autre fenêtre déjà ouverte avec le JS :
  function go(contenu) {
  ff=window.open(contenu,"contenu");
  ff.focus();
  }
mais il faut que ca marche en local (c'est pour un cd-rom) y a t'il un de moyen?
avant flash 8 on pouvait utiliser un getURL mais maintenant on ne peut plus il me semble.. qq a une idée?

Commentaire de Smiley01 le 08/12/2008 18:03:42

Bonjour à tous,

J'ai un problème avec ce code, il ne fonctionne pas sur Safari et Opera, et sur IE et Firefox le scroolbar est toujours présent (par contre la fenêtre s'ouvre bien au milieu de l'écran). Je fais mes tests en ligne. Je n'arrive pas à trouver un code qui fonctionne sur le net, j'ai suivi pas mal de tutos sur des forums, ils sont tous assez "vieux", y aurait-il par hasard un code recent, qui fonctionne sur tous les navigateurs cités ??
Merci beaucoup pour votre aide.

Commentaire de toutsi83 le 07/02/2009 21:36:29

Salut nolanne
Même soucis en local. C'est un jeu sur CD-Rom.
Je viens de lire l'aide flash à ce propos, il semblerait que cela ne marche que sur serveur. Mais je vais faire d'autres essais.
Sinon, il nous reste la fenêtre popup réalisée avec flash.
A suivre !
Toutsi83

Commentaire de goldenboy68 le 08/02/2009 11:40:13

Salut

Au lieu de faire une popup standard, on peut faire une popup avec une lightbox...mais bon, pour l'ouvrir de Flash, faut quand même utiliser ExternalInterface, donc à priori pas moyen de le faire en local.

@+

Commentaire de cyberbelette le 07/04/2009 23:03:18

POPUP FLASH CENTRÉE - sans javascript dans le fichier html -

sur le fichier flash, en action d'image :

function popCenter(url, nom, largeur, hauteur) { getURL("javascript:window.open('"+url+"','"+nom+"' ,'width="+largeur+",height="+hauteur+",top='+((screen.height/2)-("+hauteur/2+"))+',left='+((screen.width/2)-("+largeur/2+"))); void(0);");
}

et sur le bouton, en action d'objet :

on (release) {
popCenter("popup-flash.html", "toto", "600", "300");
}

Commentaire de goldenboy68 le 07/04/2009 23:31:18

...pas vérifié ton code cyberbelette, mais ça paraît correct aussi. Néanmoins le but du tuto était d'appeler une fonction javascript à l'extérieur de Flash, le centrage de popup était un exemple d'illustration simplement.

Mais ça peut servir à certains éventuellement !

@+! Samy

Commentaire de cyberbelette le 09/04/2009 12:08:26

C'est sur ce topic que je suis arrivée en cherchant sur Google "popup flash centré", je me suis dit que ça pourrait servir à d'autres.

J'ai testé le code, ça fonctionne et on peut y ajouter un petit + pour que le popup repasse au 1er plan à chaque fois qu'on clique sur un bouton (dans le cas ou tous les popups s'ouvrent dans la même fenêtre "toto"), en action d'image :

function popCenter(url, nom, largeur, hauteur) { getURL("javascript:NewWindow=window.open('"+url+"','"+nom+"' ,'width="+largeur+",height="+hauteur+",top='+((screen.height/2)-("+hauteur/2+"))+',left='+((screen.width/2)-("+largeur/2+"))); NewWindow.focus(); void(0);");
}

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,031 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales