Вспышка вызова FBJS - PullRequest
       5

Вспышка вызова FBJS

0 голосов
/ 09 февраля 2010

я использую FBML для приложения FB

У меня есть вспышка, и вспышка предполагает вызов 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>

А вот и флэш-код. (один фрейм. Код на фрейме. с текстовым полем "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();

Хорошо, когда я тестирую, вспышка загружается. Код проходит через все и показывает «Отправлено» в текстовом поле флэш-памяти. Однако не похоже, что он вызывает javascript и изменяет текст на странице HTML.

Я сделал что-то не так? Я попытался метод ExternalInteface.call, но это тоже не работает.

ТАКЖЕ, когда я запускаю его в FireFox, не появляется сообщение об ошибке. однако, когда я запускаю его в IE, я получаю это:

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

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

1 Ответ

1 голос
/ 11 февраля 2010

Вы пробовали изменить:

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

до

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