20秒后重播.swf

时间:2012-04-04 19:15:40

标签: javascript jquery xhtml flash

我的xhtml上嵌入了一个.swf横幅,我需要它在20秒后重播,所以如果用户仍在观看该页面,他将再次看到动画。它需要是一个循环或其他东西,所以动画将在完成一遍又一遍后再次播放20秒。 这可以用javascript实现吗?

谢谢!

3 个答案:

答案 0 :(得分:1)

假设您拥有Flash播放器的唯一ID,您可以这样做:

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()功能(加上电影长度和延迟)。

答案 1 :(得分:1)

可以,但是告诉<object/embed>标记循环似乎更有意义。 http://helpx.adobe.com/flash/kb/flash-object-embed-tag-attributes.html

如果你无法访问Flash源(在电影结尾添加20秒的空白),那么是的,你需要JS。

答案 2 :(得分: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);
});