0

我正在使用 swfobject 将 swf 嵌入到视图中,使用 django 后端开发一个 Flash 游戏,但是当我在 InternetExplorer 中从 Flash 执行 externalinterface.call() 时(Chrome 和 Firefox 都可以),它返回 null

Flash游戏本身完美运行

Django 查看和嵌入代码:

<div id="game_container">
    <div id='flashContent'></div>
    </div>
    <script type="text/javascript" src="swfobject.js"></script>
    <script type='text/javascript'> 
    var flashvars={{flashvars|safe}};
    var params={wmode:"opaque", allowscriptaccess:"always" };
    var attributes={id:"flashContent", name:"flashContent"};
    swfobject.embedSWF("{{SWF_URL}}", "flashContent", "{{ appsettings.SWF_WIDTH }}", "{{ appsettings.SWF_HEIGHT }}", "10.0.0", false, flashvars, params, attributes);
</script>


function fqlearn_isEventInteresting(data) {
ln_log(['isEventInteresting',data]);
if (!BASE_URL) BASE_URL = data.baseURL;
ln_log(['got lesson?',fqlearn_findLearningModule(data) != null]);
return fqlearn_findLearningModule(data) != null;
//shuld return either true or false.
}

闪存 AS3 代码:

var isInteresting:Object = false;

        try {
            isInteresting = ExternalInterface.call('fqlearn_isEventInteresting', data);
        } catch (e:Error) {
            trace("error calling external interface");
            // Container does not support outgoing calls :/
            rpc.forceLogUncaughtError("ExternalInterface.call problem",
                e.name, e.toString(), e.getStackTrace());
            rest.apply(restThis);
            return;
        } catch (e:SecurityError) {
            // Security sandbox nonsense :/
            throw e;
        }

        if (isInteresting == null) {
            // Something went wrong :/
            rpc.forceLogUncaughtError("ExternalInterface.call problem", "JS_returned_null_error");
        }

        if (isInteresting) {
            trace("showing learning blackout")
            dispatch(CoordinationEvent.newLEARNING_ABOUT_TO_SHOW());

            learningPendingData = {
                rest: rest,
                restThis: restThis
            };

InternetExplorer 中 Flash 的 ExternalInterface.call()(Chrome 和 Firefox 都可以),它返回 null 。我该如何解决?

4

1 回答 1

0

修复它:console.debug阻塞 Internet Explorer。我删除了那些,它工作。

于 2012-04-13T08:32:55.873 回答