document.getElementById のブラウザによる動作の違い

javascript入門すぐる自分。
非同期RSS読み込みをやるにはajaxが必要なので、どうしてもjavascriptの記述を切り離せない・・・。

document.getElementById のブラウザによる動作の違い

Google Chrome 3.0と
IE7とで挙動が違ったのでとりあえずメモです。

IE7⇒ headerで関数呼び出して実行した、IDの包括内容の入れ替えがすんなりできた
GC3⇒ できなかった。なぜなら関数実行時点でIDのdivの描写が追いついていなかったから。

Google Chrome3 のjavascriptデバッガで出たエラーコードは

Uncaught TypeError: Cannot set property 'innerHTML' of null

ちゃんとHTML書き出しが終わってからdocument.getElementById実行するように設定するのはjsでは当たり前のマナだろうね。
よくわからなかったので、とりあえず関数呼び出しを、例のIDのdiv要素後にもってきました。

var での宣言、スコープに右往左往する、PHPに甘やかされた自分。
AS2からも宣言は厳密になったし、大事なものなんだけどね。


Powered by WordPress with GimpStyle Theme design by Horacio Bella.
Entries and comments feeds. Valid XHTML and CSS.