[web] Javascript 使用flsah object
我在網站上加了jquery dialog 裡面放了flash動畫
乍"看"之下chrome 和IE8都很正常
殊不知一聽 就發現出有錯
IE8再關閉dialog時 flash的物件不會停止 chrome沒這問題
我的猜測是 chrome在 dialog被關閉時 期內所屬的東西都會被free掉或是停止
IE則不會
所以就去查了一些方法看可不可以用 javascript 操作flash
事實上是可以的
但有一些跨瀏覽器的問題
但用以下解決方法就OK
這方法可以取得flash object
取得之後
我就在dialog關閉時把動畫暫停
再開啟dialog時就把 動畫重頭開始播放
用了以下的method
暫停
flashObject.stop()
從頭
flshObject.rewind()
開始播放
flshObject.play()
這樣就OK了
參考資料
get flash object
http://www.permadi.com/tutorial/flashGetObject/
flash object api
http://www.coldfusionmx.com.br/support/flash/publishexport/scriptingwithflash/scriptingwithflash_03.html
乍"看"之下chrome 和IE8都很正常
殊不知一聽 就發現出有錯
IE8再關閉dialog時 flash的物件不會停止 chrome沒這問題
我的猜測是 chrome在 dialog被關閉時 期內所屬的東西都會被free掉或是停止
IE則不會
所以就去查了一些方法看可不可以用 javascript 操作flash
事實上是可以的
但有一些跨瀏覽器的問題
但用以下解決方法就OK
function getFlashMovieObject(movieName) { if (window.document[movieName]) { return window.document[movieName]; } if (navigator.appName.indexOf("Microsoft Internet")==-1) { if (document.embeds && document.embeds[movieName]) return document.embeds[movieName]; } else // if (navigator.appName.indexOf("Microsoft Internet")!=-1) { return document.getElementById(movieName); } } |
這方法可以取得flash object
取得之後
我就在dialog關閉時把動畫暫停
再開啟dialog時就把 動畫重頭開始播放
用了以下的method
暫停
flashObject.stop()
從頭
flshObject.rewind()
開始播放
flshObject.play()
這樣就OK了
參考資料
get flash object
http://www.permadi.com/tutorial/flashGetObject/
flash object api
http://www.coldfusionmx.com.br/support/flash/publishexport/scriptingwithflash/scriptingwithflash_03.html
留言
張貼留言