开发者

Flash calling a FBJS

开发者 https://www.devze.com 2022-12-19 12:30 出处:网络
i use FBML for the FB application I have a flash and the flash suppose to call a javascript on the page. I read so many websites trying to figure it out but still having problem.

i use FBML for the FB application

I have a flash and the flash suppose to call a javascript on the page. I read so many websites trying to figure it out but still having problem.

Here is the Webpage with the javascript:

<fb:fbjs_bridge/>
<div id="swfContainer"></div&g开发者_Python百科t;
<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>

And here it is the Flash code. (one frame. code is on the frame. with a text box "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();

Well, when I test, the flash loads. The code goes through everything and shows "SENT" in the flash text box. However, it doesn't seem like it is calling the javascript and changing the text in the HTML page.

Have I done something wrong? I tried the ExternalInteface.call method but this doesn't work either.

ALSO, when i run it in FireFox, not error popup. however, when i run it in IE, I got this:

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

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


Did you try changing:

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

to

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

精彩评论

暂无评论...
验证码 换一张
取 消