2009-07-10 14 views
1

我有一個需要使用javascript獲得的Flash動畫。在IE中使用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

根據該文件,替換的embedSWF你與對象指定的元素,所以你只需使用:

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

我還沒有實際檢查,但由於div元素被替換的對象元素,它可能不會被重新註冊爲IE中窗口的屬性。

+0

它修好了!我沒有想到這樣做。我總是很驚訝這種嵌入瑞士法郎如何讓生活更輕鬆。謝謝 – marcgg 2009-07-10 19:05:32

1

你可以指定在paramsid,然後只用:

document.getElementById('theId'); 

要引用得到由SWFObject的創建<object>