Perlを中心とした技術系の話などをつらつら

2006年10月03日

巨大なFLVを再生中に他のリンクをクリックしてもなかなか移動できない現象を回避する方法

FlipClipでクリップを見ていると、再生の途中で画面内のリンクをクリックして他のページに移動しようとしても、なかなか移動できなくてイライラすることがあったので、これを回避する方法がないものかと考えていたのですが、今日試した方法が有効だったので紹介します。

この現象は、再生している動画のサイズが大きい場合によく起こる現象で、リンクをクリックしてもブラウザはこの大きな動画の再生に忙しいのか、なかなか画面を切り替えてくれません。

そこで考えたのが、クリックした時に、再生している動画をけしてしまうという方法です。

試した方法は簡単で、リンクなどをクリックしてページが切り替わるタイミングで、再生中のフレームを含むdiv要素のinnnerHTMLを空にしてしまうというものです。

コードのイメージはこんな感じです。

 <script type="text/javascript"><:!--
 Event.observe(window, 'beforeunload', function(){
     $('clipPlayer').innerHTML='';
 });
 --></script>

最初はbeforeunloadではなくunloadで試してみましたが、タイミングが遅いらしく、効果がありませんでした。

beforeunloadはブラウザによっては動かないといった情報をどこかで見たような気がしたのですが、IE, FireFox, Safariでうまく動いたので、互換性に問題なしと判断し、FlipClipでもこの方法を早速採用しました。

画面の移動がスムースになって、いい感じです。

Technorati TAGTechnorati TAG , , ,

Posted by horiuchi at 2006年10月03日 23:28

Continuing the discussion...

このエントリーのトラックバックURL:
http://hori-uchi.com/mt/trackback/448

Comments

僕も再生中はページ遷移遅いなあ、といつも思ってました。
改善されたとのことで、よかったです!

Posted by kawachi at 2006年10月04日 01:28

Post a comment




Remember personal info?