0

FBアプリケーションにはFBMLを使用しています

私はフラッシュを持っていて、フラッシュはページ上のjavascriptを呼び出すことを想定しています。私はそれを理解しようとしているがまだ問題を抱えている非常に多くのウェブサイトを読んだ。

これがjavascriptのあるWebページです:

<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>

そしてここにフラッシュコードがあります。(1つのフレーム。コードはフレーム上にあります。テキストボックス「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();

さて、私がテストすると、フラッシュがロードされます。コードはすべてを通過し、フラッシュテキストボックスに「SENT」と表示されます。ただし、JavaScriptを呼び出してHTMLページのテキストを変更しているようには見えません。

私は何か間違ったことをした?ExternalInteface.callメソッドを試しましたが、これも機能しません。

また、FireFoxで実行すると、エラーポップアップではありません。ただし、IEで実行すると、次のようになります。

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

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

1 に答える 1

1

変更してみましたか:

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

connection.send(connectionName, "callFBJS", "callmenow", pArray);
于 2010-02-10T21:19:06.523 に答える