[NIKOの週末プログラミング日記]

IEでDOM(setAttribute問題)

2006-10-27(金) 21:42:13 - programming
ここ一週間ほど、javascriptでちょこちょこと遊んでるんですが、
昨日あたりから、変な問題に躓いててストレス溜まってました。
判明してみたら、非常に些細な原因だったので念のため『備忘録』。

ブラウザによる動作の違いがとても問題になるjavascriptなんだけど、
特にDOM周りはヒドイ。
今回つまづいてたのは、DOMのLevel1から定義されている
element.setAttribute(name,value)。
プログラムの書き方によってはとても使用頻度高いメソッドです。
一応、IEでもきちんと対応しているはずのものなんだけど、
今回勉強してみると、なんともイヤな感じの問題があることを知りました。

それは、、、IEだと、このsetAttributeの通常の(仕様通りの)使い方では、
class、style、イベント、innerHTMLなどの属性をうまく設定できないんです。
致命的・・・
Firefoxだと問題なく動くのに、IEだとうまく動かなくて、
原因判明させるのにかなり時間かけてしまいました。。。

やっぱり普段から、このあたりのブラウザ依存性を吸収してくれる
フレームワーク使っとくべきかもな・・・

コメント

やまがつ さん (2006-10-28(土) 03:31:27)
最近はAjaxをバリバリに使ったWebアプリの開発が多いから、Javascriptの非互換には悩まされます。
私の周辺では、メインPCがWindows系という人間は少数派(最大派閥はインテルMac)だし、ブラウザはFirefoxが普通なので、何も問題なくいくんですが、客はWindowsでIEだから、うまくいかないケースがありますね。
IEは、ホスト名に「_(アンダースコア)」が含まれる場合、Cookieを保存しないという仕
様(バグだよなぁ)があるそうですよ。こんなの、普通、知りませんわな。

p.s.
今日、柏キャンパス一般公開に行きました。柴崎先生とも話が出来ました。先生はお元気そうでしたよ。
NIKO さん (2006-10-28(土) 10:06:04)
> 最近はAjaxをバリバリに使ったWebアプリの開発が多い
時代は流れていくんですねぇ(笑
つい数年前までは、サーバサイドで何もかも済ませるのが「善」だったのに。
近頃では、サーバからクライアントへのプッシュ、
を実現する仕組みも面白げです。
http://satoshi.blogs.com/li...

> 先生はお元気そう
ますますお忙しくなってきてるようですね。
一般公開、行きたかったです。でも、物理的な距離の克服は困難でした。。。

コメントを追加





トラックバック

トラックバックURL:
トラックバックはありません

ローカルトラックバック

ローカルトラックバックはありません