0

swfobjectを使用してswfをビューに埋め込むdjangoバックエンドでフラッシュゲームに取り組んでいますが、InternetExplorer(ChromeとFirefoxで問題ありません)のフラッシュからexternalinterface.call()を実行すると、nullが返されます

フラッシュゲーム自体は完璧に動作します

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.debugInternetExplorerを窒息させていました。私はそれらを削除し、それは機能しました。

于 2012-04-13T08:32:55.873 に答える