2012-04-04 64 views
0

我在我的xhtml中嵌入了一個.swf橫幅,我需要它在20秒後重播,因此如果用戶仍在看該頁面,他會再次看到動畫。它需要成爲一個循環或其他東西,所以動畫會在重複完成20秒後再次播放。 這可以通過javascript來實現嗎?20秒後重播.swf

謝謝!

回答

1

假設你有一個獨特的ID爲Flash播放器,你可以簡單地這樣做:

var player = document.getElementById("playerID"); 
var movieLength = 10000; // in ms, change this as needed 
var delay = 20000; // in ms 

function playMovie() { 
    player.play(); 
    window.setTimeout(playMovie, movieLength + delay); 
}; 

playMovie(); // Assuming it doesn't start automatically. 

此呼籲玩家每20秒(加上電影的長度和延遲)的play()功能。

+0

這將重播每二十秒,你需要添加電影本身的長度。此外,這隻會執行一次 – 2012-04-04 19:24:57

+0

編輯進行無限重播。謝謝!不知道電影長度,我把它留給提問者。 – kiswa 2012-04-04 20:03:47

1

它可以,但只是告訴<object/embed>標記循環似乎更有意義。 http://helpx.adobe.com/flash/kb/flash-object-embed-tag-attributes.html

如果您無法訪問Flash源(將20秒的空白添加到電影的末尾),那麼是的,您需要JS。

+0

不幸的是,我無法訪問.fla文件。客戶有這個.swf,因爲誰知道什麼時候......所以我需要使用js解決方案。 – 2012-04-04 19:30:46

+0

然後使用kiswa的建議以及我在答案中發佈的評論。 – 2012-04-04 19:32:23

0

找出電影有多長時間,以秒爲單位。乘以1000,並添加20000。

取該號碼,把它放在這裏:

var timing = 30000; //whatever the 20000 + the number you found before was, put it here 

$(function() { 
    window.setInterval(function() { 
     $("#myPlayer").get(0).play(); 
    }, timing); 
});