0
我使用FBML爲FB應用程序Flash調用FBJS
我有一個Flash和閃存設想調用頁面上的JavaScript。我讀了很多網站試圖找出它,但仍然有問題。
下面是使用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>
這裏,它是Flash代碼。 (一幀。代碼是在框架上,用一個文本框「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();
好吧,當我測試,閃存負載。代碼遍歷所有內容,並在Flash文本框中顯示「SENT」。但是,它看起來並不像調用JavaScript並更改HTML頁面中的文本。
我做錯了什麼?我嘗試了ExternalInteface.call方法,但這也不起作用。
此外,當我在FireFox中運行它,而不是錯誤彈出。 然而,當我在IE中運行它,我得到這個:
VerifyError: Error #1033: Cpool entry 36 is wrong type.
ReferenceError: Error #1065: Variable FBJS is not defined.
現在的工作。謝謝。 – Murvinlai 2010-02-11 07:37:35