作者lovelycateye (我还想要更多力量)
看板Ajax
标题[问题] 用js重播gif动画
时间Wed Oct 27 22:24:59 2010
前不久碰到一个非常奇妙的需求。
就是我需要能够让一个非回圈的gif(不会一直重播,拨完就停的)
能够让他在不重新reload页面的情况下,透过js重新拨放一次。
目前试过了非常多的方法:
从最简单的将图片从网页上移除再放到网页上。
甚至将这个图片new成一个image物件,再将他设成null等等。
各种奇怪的招数都用了,还是无法做到在各种浏览器都能够重新播放。
想在这边问问有没有人有知道这种非常微妙的需求的解法?
因为这或许已经不单只是js的问题,还牵扯到各浏览器的实作和记忆体管理的问题。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 219.84.11.75
1F:→ dinos:在 .gif 後加上 ?d=...(timestamp)... 10/27 23:17
2F:→ lovelycateye:补充详细情况好了,我必须预先将这个gif抓下来。 10/28 11:58
3F:→ lovelycateye:且为了减少流量,所以不能使用加query的方式。 10/28 11:58
4F:→ lovelycateye:因为client端的网路速度有点...慢? 10/28 11:59
5F:→ Kelunyang:你是写script的,浏览器实作细节根本没办法碰... 10/28 21:51
6F:→ Kelunyang:IE会快取,就算设成null还是可能不会重新下载,而且你 10/28 21:51
7F:→ Kelunyang:不可能控制gif的载入/播放机制,所以只有重新下载 10/28 21:52
8F:→ Kelunyang:是最好的方法 10/28 21:52
9F:→ fillano:可以使用ajax的方式预载图片,request过後没有放在网页上 10/29 15:29
10F:→ fillano:也还是会放进cache,所以有预载的效果 10/29 15:30
11F:→ lovelycateye:我现在的目的是1.透过预先下载的方式让图片cache 11/01 16:04