Cs5.5 est disponible
Mardi 3 mai 2011La suite CS5.5 est maintenant disponible en téléchargement
La suite CS5.5 est maintenant disponible en téléchargement
Une nouvelle bibliothèque javascript voie le jour Underscore.js .

En attendant l'implémentation de certaines fonction de base au language javascript (1.6) et qui sont très utils (forEach, map, filter, every, some and indexOf.), on a recourt parfois a certaines bibliothèques javascript (prototype.js, jQuery, ...). Mais maintenant le réseau dispose d'une nouvelle bibliothèque tout aussi puissant que les autres, avec un style tout aussi simple et different des autres et proche au language python.
_.map([1, 2, 3], function(n){ return n * 2; }); _([1, 2, 3]).map(function(n){ return n * 2; });
Lorsqu'on veut appeler une fonction javascript après sa création, la première des choses qui nous passe par la tête c'est de l'appeler par son nom
function myFunction() { alert('appel de la fonction'); } myFunction();
Mais il existe une autre méthode plus simple pour appeler une fonction javascript juste après sa création, il suffit d'ajouter les parenthèse () à la fin juste après l'accolade de fermeture }
var _myFunction = function () { alert("my Function called"); }();
Pour injecter du code Javascript dans une page web depuis Actionscript on peut utiliser deux méthodes mais qui presque similaire :
La première consiste a injecter le code javascript comme un objet XML et la deuxième consiste a integrer un fichier js en utilisant les metadata.
Nous allons voir dans cette partie la version XML et dans une deuxième partie la méthode embed :
package com.mutationevent { import flash.display.Sprite import flash.external.ExternalInterface import flash.events.MouseEvent; public class Inject extends Sprite { public function Inject() { var js:XML = <script> <![CDATA[ function () { js = {}; js.showAlert = function() { alert("messagae"); } } ]]> </script> // embed the JavaScript to the page ExternalInterface.call(js); myButton.addEventListener(MouseEvent.CLICK, myButtonHandler); } private function myButtonHandler(evt:MouseEvent):void { ExternalInterface.call("js.showAlert"); } } }
et pour appeler la fonction showAlert :
ExternalInterface.call("js.showAlert");
Téléchargez l'exemple : jsInjection (35)