こちらも、以下の記事の補足記事です。
IEでの挙動不審
以前のエントリーで諸事情からflvプレイヤーをライブラリ規定のものではなく、別のフリーのものに差し替えたのですが、IEで見た場合に、動画を2度目以降に開く際にサイズが指定されず動画が小さくなってしまい、再生バーも表示されない、という現象がおこりました。
動画を指定するURLにwidthとheightをクエリでくっつける(?width=480&height=320とか)ことでサイズ指定は対応できたのですが、再生バーが表示されないことはどうにも改善できませんでした。JSで吐き出されたコードを見るとちゃんとパラメータは設定されているのですが、それが使われていないという状況のようで、IEのみでしか起こりません。
で、もっとおかしなことに、その状態になってから一度_blankで開くリンクをクリックして別ウインドウを開き、フォーカスを元のウインドウに戻して動画のリンクをクリックすると、正常動作するんですよねw
予想で書けば、jsでhrefの値を渡すあたりで処理が宙に浮いたままになってて、別ウインドウのリンクを開くことでそれがリセットされる?ような感じかなと思ったんですが、僕の技術と、納期の関係上ここまでが限界で、結局元のflvプレイヤーを使うことで解決しました。規定のflvプレイヤーだと起こらないんですよね・・・
IEでの構文エラー|オブジェクトがありません
元のプレイヤーに戻したら戻したで、なぜか不具合が出るようになりました。「構文エラー」とやらが出るようになってしまったんです。「nullはnullまたはオブジェクトではありません」とか哲学的に言われてもどこが原因かさっぱりわかりませんでした。
これはswfを配置するobjectタグの問題で、IEの場合動的にobjectタグを配置する際に、objectタグにidが指定されていないとエラーになってしまう、ということのようです。IEがそれ用に別のスクリプトを読み込んできて、その中でエラーになっているという。いやもう知らんがな、って感じですが・・・
結局こちらは使ってるスクリプトのobjectタグ吐き出しのところで強制的にid=”aaa”などを加えてやると解決しました。
IEの開発者ツール
上記デバッグの過程でIEの開発者ツールを使用して結構助かりました。
Windows Internet Explorer 8 開発者ツールを使用してサイトを修正する
これ、IEが解釈して描画したソースを見ることができるし、バグがある場合どこで実際に起きているのかを別ウインドウで表示してくれてとても重宝しました。
とはいえ、その原因が自分らの用意した独自スクリプトだったりもするわけなので、勝手にバグ作ってそれを解釈するツールを用意しました!って言われてもな感が半端無いですが。
でも便利でしたので、IEで行き詰った際には利用してみてはいかがでしょうか。