2009-05-28 9 views
2

Je me demande si quelqu'un pourrait regarder par-dessus mon code. Je suis en train de passer une variable fictive de javascript pour 3 actionscript avec le code suivant:Javascript pour clignoter via ExternalInterface

HTML:
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
id="music_player" width="500" height="375"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab">
<param name="movie" value="music_player.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#869ca7" />
<param name="allowScriptAccess" value="always" />
<embed src="music_player.swf" quality="high" bgcolor="#869ca7"
width="500" height="375" name="music_player" align="middle"
play="true" loop="false" quality="high" allowScriptAccess="always"
type="application/x-shockwave-flash"
pluginspage="http://www.macromedia.com/go/getflashplayer">
</embed>
</object>

Javascript:
var nextTrackLocation = "dummyString";
getFlashMovie ("music_player"). JsAlert (nextTrackLocation);

function getFlashMovie(movieName) { 
    var isIE = navigator.appName.indexOf("Microsoft") != -1; 
    return (isIE) ? window[movieName] : document[movieName]; } 

et le actionscript:
ExternalInterface.addCallback ("getNextTrack", jsAlert);

function jsAlert(mess){ 
ExternalInterface.call("alert", mess); 
} 

Quelqu'un a-t-il une erreur?

+0

désolé, les deux premières lignes du javascript sont dans la fonction « getNextTrack » – danwoods

Répondre

2

Votre question est très confuse. Je pense que vous faites deux erreurs ici. De Javascript, vous essayez d'appeler une fonction dans Actionscript appelée "jsAlert" mais la fonction est dans Actionscript exposée comme "getNextTrack". Je pense qu'il devrait être:

getFlashMovie("music_player").getNextTrack(nextTrackLocation); 

En second lieu, où vous définissez la fonction dans Actionscript vous perdre de vue que l'ExternalInterface.addCallback prend en fait trois paramètres.

ExternalInterface.addCallback("getNextTrack", null, jsAlert); 
+0

Merci pour la réponse !!! L'utilisation de 3 arguments avec ExternalInterface.addCallback génère l'erreur suivante: 1137: nombre d'arguments incorrect. Attendu pas plus de 2. – danwoods

+0

en utilisant 'ExternalInterface.addCallback ("jsAlert", jsAlert);' résolu le problème. Merci beaucoup!!! la documentation dit que le deuxième des trois arguments donne un point de référence. Pourriez-vous élaborer là-dessus? – danwoods

+0

Dan. Désolé pour le commentaire de paramètre, vous avez raison. J'ai eu AS2 dans ma tête qui a besoin de trois paramètres au lieu de deux. Content que ça marche maintenant! – Luke