3

Web ページに埋め込まれたフラッシュ ゲーム (SWFObject v2.2 を使用) があり、ページには次の方法でフラッシュを呼び出すリンクがいくつかあります。

window.document["flashObjectId"].flashMethod();

これは、IE7 および 8 を含む、私たちが試したすべてのブラウザーでうまく機能しましたが、IE9 では次のエラーが生成されます:「SCRIPT438: オブジェクトはこのプロパティまたはメソッドをサポートしていません」。

互換モードで動作するので、デフォルトで互換モードを使用するように IE9 に指示するメタ タグを追加しようとしましたが、ゲームが Facebook 内の IFrame で実行されるため、機能しませんでした。

Javascript で考えられるあらゆる方法でフラッシュ オブジェクトを参照しようとしましたが、IE9 では常に同じエラー メッセージが表示されます。これをIE9で動作させるのに役立つ情報を誰かが持っていれば、本当に感謝しています!

4

3 に答える 3

2

これがおそらくあなたの問題の理由であり、解決策もここに提供されています:

http://msdn.microsoft.com/en-us/library/gg622942%28v=VS.85%29.aspx

于 2011-03-23T10:31:34.840 に答える
0

あなたはこのことについてどう思いますか?

function getFlashObject(movieName) {
    if (navigator.appName.indexOf("Microsoft") != -1) {
        //alert("IE");
        if (typeof (window[movieName].flashMethod) == 'function') {
            // < IE9
            movie = window[movieName];
        }
        else if (typeof (document[movieName].flashMethod) == 'function') {
            // >= IE9
            movie = document[movieName];
        }
    }
    else {
        // NON IE
        movie = document[movieName];
    }

    return ((movie) ? true : false);
}

$(document).ready(function () {
    if(getFlashObject("flashObjectId")) {
        movie.flashMethod();
    } else {
        alert("Failed to initialize");
    }
}
于 2011-07-21T17:42:56.953 に答える
0

私は同じ問題を抱えていましたが、SWFObject または AC_RunActiveContent.js を使用しませんでした。

私の解決策は、HTML と AC_RunActiveContent.js で公開された swf でした。次に、現在のコードをフラッシュからエクスポートしたものに置き換えたところ、動作し始めました。

于 2011-03-17T07:23:19.240 に答える