2010-02-09 4 views
0

J'utilise FBML pour l'application FBFlash appelant un FBJS

J'ai un flash et le flash suppose d'appeler un javascript sur la page. J'ai lu tant de sites Web essayant de le comprendre mais ayant toujours le problème.

Voici la page Web avec le javascript:

<fb:fbjs_bridge/> 
<div id="swfContainer"></div> 
<script> 
// the javascript to call and change the text of ztest001 
function callmenow(a) { 
    var obj = document.getElementById("ztest001"); 
    obj.setTextValue("Calling"); 
} 

// generating the SWF 
var swf = document.createElement('fb:swf'); 
swf.setId('my_swf_id'); 
swf.setWidth('630'); 
swf.setHeight('520'); 
swf.setSWFSrc('http://hollywood-life.madscience-games.com/ztest/test1.swf'); 
document.getElementById('swfContainer').appendChild(swf); 



</script> 


<div onclick="callmenow('a')">call me now</div> 
<div id="ztest001">   YOo  </div> 

Et ici, il est le code Flash. (Un cadre. Code est sur le cadre. Avec une zone de texte "MyVar1")

var connection:LocalConnection = new LocalConnection(); 
var connectionName:String = LoaderInfo(this.root.loaderInfo).parameters.fb_local_connection; 
connection.allowDomain("apps.facebook.com", "apps.*.facebook.com"); 


function callFBJS():void{ 
    myvar1.text = "START"; // debugging purpose 
    if (connectionName) { 
     myvar1.text = "Connection now"; // debugging purpose 
     var pArray = ['bs']; 
     connection.send(connectionName, "callmenow", "callmenow", pArray); 
     myvar1.text = "SENT"; 
    } 
} 

callFBJS(); 

Eh bien, quand je teste, les charges flash. Le code passe par tout et affiche "SENT" dans la zone de texte flash. Cependant, il ne semble pas qu'il appelle le javascript et change le texte dans la page HTML.

Ai-je fait quelque chose de mal? J'ai essayé la méthode ExternalInteface.call mais cela ne fonctionne pas non plus.

AUSSI, quand je l'exécute dans FireFox, pas de popup d'erreur. cependant, quand je le lance dans IE, je me suis ceci:

VerifyError: Error #1033: Cpool entry 36 is wrong type. 

ReferenceError: Error #1065: Variable FBJS is not defined. 

Répondre

1

Avez-vous essayez de changer:

connection.send(connectionName, "callmenow", "callmenow", pArray); 

à

connection.send(connectionName, "callFBJS", "callmenow", pArray); 
+0

cela fonctionne maintenant. Merci. – Murvinlai