Forum de discussion
Forum « Programmation Javascript » (archives)
Re: cadre gris et devletter d'adobe et twPasseFlash
Envoyé: 9 juin 2006, 9h08 par Oznog
L'idée est que cette nouvelle sécurité attrappe seulement ce qui est « inline » c'est à dire directement dans le code <object> <embed> <applet> etc. Alors que tu peux utuiliser le Javascript pour générer le même code lors de l'affichage de la page. Ce qui rend cette décision obsolète!
Enfin, au lieu de <object, tu le fait en Javascript :
<script type="text/javascript" language="javascript">
document.write('<object...>\n');
Et faire attentions aux conflit de double guillemets et simple guillements.
Eux, ils complique la chose avec un script include pour partager le même code sur l'ensemble d'un site, et le tout encapsullé dans une fonction, ce qui est tout de même très pratique. Par contre, c'est fait pour gérer un tas d'autres objets souvent innutile. L'avantage avec ce genre de fonction, c'est qu'il permet aussi de passer les tests de validation de la W3C pour a peu près n'importe quoi!
Enfin, les documents js et l'exemple html doivent être dans le même répertoire et normalement sur un serveur Web pour bien fonctionner. Le fichier SampleActiveContent.html est effectivement un exemple qu'il suffit de modifier avec ton propre Flash.
Il ne faut pas oublier de déclarer en haut du document html :
<script src="[path]/AC_ActiveX.js" type="text/javascript"></script>
<script src="[path]/AC_RunActiveContent.js" type="text/javascript"></script>
ET tu appelle la fonction en passant non seulement les valeurs mais aussi les balises :
<script type="text/javascript" >
AC_FL_RunContent('codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0','width','550','height','400','align','middle','src','foo','quality','high','bgcolor','#ffffff','name','foo','allowscriptaccess','sameDomain','pluginspage','http://www.macromedia.com/go/getflashplayer','movie','foo' );
</script>
Ça commence à être lourd pour rien (remplace foo par les url) mais c'est 100% portable!
Je propose ici une version plus simple et tout aussi portable pour un Flash, suite à plusieurs discussion sur le forum Flash (http://www.trucsweb.com/Forum/voirforum.asp?forumid=17) :
<html>
<head>
<title>twPasseFlash - Imbrication Javascript d'un FLash - Trucsweb.com</title>
<script type="text/javascript" language="javascript">
function twPasseFlash(sNom,sCB,nW,nH,sA,sUrl,sQ,sC) {
// Auteur : Django (Oznog) Blais
// Date : 12 Mai 2006
// Script gratuit des Trucsweb.com
document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="'+sCB+'" width="'+nW+'" height="'+nH+'" align="'+sA+'">\n');
document.write('<param name="allowScriptAccess" value="sameDomain" \>\n');
document.write('<param name="movie" value="'+sUrl+'" \>\n');
document.write('<param name="quality" value="'+sQ+'" \>\n');
document.write('<param name="bgcolor" value="'+sC+'" \>\n');
document.write('<embed src="'+sUrl+'" quality="'+sQ+'" bgcolor="'+sC+'" width="'+nW+'" height="'+nH+'" name="'+sNom+'" align="'+sA+'" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" \>\n');
document.write('</object>\n');
}
</script>
</head>
<body>
<script type="text/javascript" language="javascript">
twPasseFlash('Trucsweb','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0',550,400,'middle','http://www.trucsweb.com/introTW2002.swf','high','#ffffff');
</script>
</body>
</html>
Ciao
Oznog
Réponses
|