我在我的xhtml中嵌入了一個.swf橫幅,我需要它在20秒後重播,因此如果用戶仍在看該頁面,他會再次看到動畫。它需要成爲一個循環或其他東西,所以動畫會在重複完成20秒後再次播放。 這可以通過javascript來實現嗎?20秒後重播.swf
謝謝!
我在我的xhtml中嵌入了一個.swf橫幅,我需要它在20秒後重播,因此如果用戶仍在看該頁面,他會再次看到動畫。它需要成爲一個循環或其他東西,所以動畫會在重複完成20秒後再次播放。 這可以通過javascript來實現嗎?20秒後重播.swf
謝謝!
假設你有一個獨特的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()
功能。
它可以,但只是告訴<object/embed>
標記循環似乎更有意義。 http://helpx.adobe.com/flash/kb/flash-object-embed-tag-attributes.html
如果您無法訪問Flash源(將20秒的空白添加到電影的末尾),那麼是的,您需要JS。
不幸的是,我無法訪問.fla文件。客戶有這個.swf,因爲誰知道什麼時候......所以我需要使用js解決方案。 – 2012-04-04 19:30:46
然後使用kiswa的建議以及我在答案中發佈的評論。 – 2012-04-04 19:32:23
找出電影有多長時間,以秒爲單位。乘以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);
});
這將重播每二十秒,你需要添加電影本身的長度。此外,這隻會執行一次 – 2012-04-04 19:24:57
編輯進行無限重播。謝謝!不知道電影長度,我把它留給提問者。 – kiswa 2012-04-04 20:03:47