1

JavaScriptで取得する必要があるFlashムービーがあります。

swf objectを使用して埋め込む方法は次のとおりです。

<div id="ap1_mod"></div>
<script type="text/javascript">
    var flashvars = {
        mp3Path: "stop",
        artistName : "",
        trackName : ""
    };
    var params = {
        codebase: 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0',
        src: '/public/flash/ap1_mod.swf',
        quality: 'high',
        pluginspage: 'http://www.macromedia.com/go/getflashplayer',
        scale: 'showall',
        devicefont: 'false',
        bgcolor: '#999999',
        name: 'ap1_mod',
        menu: 'true',
        allowFullScreen: 'false',
        allowScriptAccess:'always', //sameDomain
        movie: '/public/flash/ap1_mod.swf',
    wmode: "transparent",
    allowfullscreen: "true"
    };

    swfobject.embedSWF("/public/flash/ap1_mod.swf", "ap1_mod", "400", "50", "9.0.0", false, flashvars, params);
</script>

そして、これが私がそれにアクセスしようとする方法です:

function getFlashMovie(movieName) {
  var isIE = navigator.appName.indexOf("Microsoft") != -1;
  return (isIE) ? window[movieName] : document[movieName];
}

いつものように、Firefox と Safari では正常に動作していますが、IE では機能しません。アラートを追加すると、getFlashMovie を返すものを表示するために「未定義」になります。

何か案が?

どうもありがとう

4

2 に答える 2

4

ドキュメントによると、embedSWF は指定した要素をオブジェクトに置き換えるため、次を使用するだけです。

var movie = document.getElementById("ap1_mod");

実際には確認していませんが、div要素がobject要素に置き換えられているため、IEのwindowのプロパティとして再登録されていない可能性があります。

于 2009-07-10T18:53:05.533 に答える
1

idで を指定してからparams、次を使用できますか。

document.getElementById( 'theId' );

<object>swfobject によって作成されたを参照するには?

于 2009-07-10T17:16:19.207 に答える