Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

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


Information sur le tutorial

Catégorie :Tutoriaux Date de création : 09/04/2006 19:11:55 Vu : 17 449 fois

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (21)
Ajouter un commentaire et/ou une note

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!
10 avril 2006 15:24:53 :
Ajout de commentaires
signaler à un administrateur
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.

signaler à un administrateur
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...

signaler à un administrateur
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

signaler à un administrateur
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

signaler à un administrateur
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

signaler à un administrateur
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

signaler à un administrateur
Commentaire de FluideGaz le 03/08/2006 17:47:27

toujours personne pour m'aider???

signaler à un administrateur
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.

@+

signaler à un administrateur
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 ?

signaler à un administrateur
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 :)

signaler à un administrateur
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.

signaler à un administrateur
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

signaler à un administrateur
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



signaler à un administrateur
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

signaler à un administrateur
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?

signaler à un administrateur
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.

signaler à un administrateur
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

signaler à un administrateur
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.

@+

signaler à un administrateur
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");
}

signaler à un administrateur
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

signaler à un administrateur
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...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,031 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.