Ouvrir une autre animation

 

Plusieurs façons de lancer une autre animation dans sa propre fenêtre depuis une animation principale.

Utilisation de la fonction swish fscommand

A - Réalisation d'une animation Movie1.swf

Je suppose que vous avez créé et exporté une animation secondaire. Examinez le contenu du fichier Movie1.html
J'ai ajouté les termes en rouge pour que l'animation soit juste dans le cadre.

<html><head><title>Movie1</title></head>
<body bgcolor="#3E0101" marginwidth='0' topmargin='0' leftmargin='0' marginheight='0'>
<center>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,79,0"
id="Movie1" width="640" height="480">
<param name="movie" value="Movie1.swf">
<param name="bgcolor" value="#3E0101">
<param name="quality" value="high">
<param name="menu" value="false">
<param name="wmode" value="transparent">
<param name="allowscriptaccess" value="samedomain">
<embed type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"
width="640" height="480" name="Movie1" src="Movie1.swf" bgcolor="#3E0101" quality="high" menu="false" wmode="transparent"
swLiveConnect="true" allowScriptAccess="samedomain"></embed></object></center></body></html>

B - Réalisation d'une animation principale mainMovie.swf

Créez une nouvelle animation dans laquelle vous placez un bouton.
Pour ce dernier, entrez le script suivant :
on (press) { fscommand("openNewSwf","true"); }
(Vous pouvez mettre autre chose que openNewSwf, il s'agit d'un nom d'affectation) Exportez HTML+SWF.
Examinez maintenant le contenu du fichier mainMovie.html. J'ai expurgé les parties sans intérêt ici.
Une partie est générée par SwishMax.

<html><head><title>mainMovie</title>
<script type="text/javascript" language="JavaScript">
<!--
// Detect Browser
var isInternetExplorer = navigator.appName.indexOf("Microsoft") != -1;
// FSCommand handler for Netscape
function mainMovie_DoFSCommand(command, args)
{
var mainMovieObj = isInternetExplorer ? document.all.mainMovie : document.mainMovie;
if (command=="openNewSwf") {
// ADD YOUR CODE HERE
redirect(); }
}
function redirect()
{
var targetURL='mainMovie.html';
window.location = targetURL;
window.open( 'Movie1.html','newwin','width=640,height=480,
toolbar=no,location=no,directories=no,status=no,
menubar=no,scrollbars=no,resizable=no');
return false;
}

//-->
</script>
<script type="text/vbscript" language="VBScript">
<!--
// FSCommand handler for VBScript and ActiveX
Sub mainMovie_FSCommand(ByVal command, ByVal args)
call mainMovie_DoFSCommand(command, args)
end sub
//-->
</script></head>
<body bgcolor="#FFFFFF"><center>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,79,0"
id="mainMovie" width="120" height="80"> <param name="movie" value="mainMovie.swf">
<param name="bgcolor" value="#FFFFFF"> <param name="quality" value="high">
<param name="menu" value="false"> <param name="wmode" value="transparent">
<param name="allowscriptaccess" value="samedomain"> <embed type="application/x-shockwave-flash"
pluginspage="http://www.macromedia.com/go/getflashplayer" width="120" height="80"
name="mainMovie" src="mainMovie.swf" bgcolor="#FFFFFF" quality="high" menu="false" wmode="transparent"
swLiveConnect="true" allowScriptAccess="samedomain"></embed></object>
</center></body></html>

Ainsi, dés que le bouton est cliqué, la fonction fscommand est exécutée en transmettant l'ordre openNewSwf.
J'ai alors ajouté les instructions concernant l'action à exécuter sous forme d'une fonction que j'appelle redirect qui a pour but d'ouvrir une fenêtre de taille déterminée, dans laquelle une autre animation sera lancée.

Utilisation de la fonction swish javascript

Vous procédez de la même façon qu'au début mais dans mainMovie remplacez le script du bouton par
on (press)
{
javascript("window.open( 'Movie1.html','newwin','width=640,height=480,
toolbar=no,location=no,directories=no,status=no,
menubar=no,scrollbars=no,resizable=no')");
}

Ainsi, aprés clic sur le bouton, l'autre animation s'ouvrira dans une fenêtre de taille déterminée.

Utilisation de la fonction swish getUrl

Vous procédez de la même façon qu'au début mais dans mainMovie remplacez le script du bouton par
on (press) { getURL("Movie1.html", "_BLANK");}
L'autre animation sera lancée dans une nouvelle page dés que le bouton sera cliqué.
Si vous voulez vraiment fixer la taille de la nouvelle fenêtre, il existe une bidouille (pas trés géniale) :
Indiquez on (press) { getURL("bidon.html", "_BLANK");}
contenu de bidon.html :

<html>
<body onLoad="open( 'Movie1.html','newwin','width=640,height=480,
toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no');
self.close();">
</body></html>

Il y aurait sans doute une possibilité avec l'utilisation de <META HTTP-EQUIV="refresh" mais de toute façon l'utilisation de getUrl n'est pratique que pour des liens externes, donc çà ne vaut pas le coup d'approfondir.

Remarques

- Pour avoir une fenêtre centrée à l'écran :

window.open('Movie1.html','newwin',
'width=640,height=480,
toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,
top='+((screen.availHeight/2)-(480/2))+',left='+((screen.availWidth/2)-(640/2))+'');
void(0);

- Pour avoir une fenêtre de taille adaptée à l'écran :

<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
function newWin(page)
{
wHeight = screen.height - 80; // par exemple
wWidth = screen.width - 20;
window.open(page,'newwin','height=' +wHeight+ ',width=' +wWidth+',
locationbar=0,menubar=0,personalbar=0,scrollbars=0,statusbar=0,toolbar=0,top=0,left=0');
}
</SCRIPT>

Vous appelez ensuite cette fonction en lui passant Movie1.html comme paramêtre.
( personalbar , c'est pour Netscape; IE l'ignore )

Il y a aussi le paramêtre fullscreen=1 que l'on peut rajouter. Normalement, si on laisse vide la section 'newwin' (remplacée par '') , la fenêtre s'ouvre plein écran.

 


Si vous aimez le site

 

Select a language if you need :


Page chargée en 0.002 sec.

Dernière Modification : Mer 25 Janvier 2017 8:56
Copyright © 1999-2017 Jean-Paul Molina Tous droits réservés.

vers Google