shadowboxにwmodeを足してみた

前回のエントリshadowboxを利用してswfを表示するテストをしてみたけど、どうもフレームレートが落ちてるみたいで動きが滑らかじゃなかった。ちょっと調べてみたらIEにバグがあって、swfを貼り付ける時のエンベットタグに、

<param name=”wmode” value=”opaque” / >

が入ってないとフレームレートが一割前後落ちるらしい。

参考:
FLASHのFPSを正常に
graffiti-blog: wmodeのクセ

HTMLにswfを直張りしてるなら上のタグを加えれば済むんだけど、このブログのswf表示してる部分ってshadowboxが動的に生成してるから手がつけられないのよなぁ。

仕方がないからshadowbox.jsを恐る恐る開いて見ると2251行目にエンベットタグのパラメータを追加してる部分を発見。そこに<param name=”wmode” value=”opaque” / >を加えてみた。

2250: markup.children = [
2251:    { tag: ‘param’, name: ‘movie’, value: link.href },
2252:    { tag: ‘param’, name: ‘wmode’, value: ‘opaque’ }
2253: ];

※shadowbox1.0b7を使用。

これでshadowboxを使ってswfを表示してもフレームレートは落ちなくなった。
これはswfobjectを使うときも気をつけな。