ここ一週間ほど、javascriptでちょこちょこと遊んでるんですが、
昨日あたりから、変な問題に躓いててストレス溜まってました。
判明してみたら、非常に些細な原因だったので念のため『備忘録』。
ブラウザによる動作の違いがとても問題になるjavascriptなんだけど、
特にDOM周りはヒドイ。
今回つまづいてたのは、DOMのLevel1から定義されている
element.setAttribute(name,value)。
プログラムの書き方によってはとても使用頻度高いメソッドです。
一応、IEでもきちんと対応しているはずのものなんだけど、
今回勉強してみると、なんともイヤな感じの問題があることを知りました。
それは、、、IEだと、このsetAttributeの通常の(仕様通りの)使い方では、
class、style、イベント、innerHTMLなどの属性をうまく設定できないんです。
致命的・・・
Firefoxだと問題なく動くのに、IEだとうまく動かなくて、
原因判明させるのにかなり時間かけてしまいました。。。
やっぱり普段から、このあたりのブラウザ依存性を吸収してくれる
フレームワーク使っとくべきかもな・・・
私の周辺では、メインPCがWindows系という人間は少数派(最大派閥はインテルMac)だし、ブラウザはFirefoxが普通なので、何も問題なくいくんですが、客はWindowsでIEだから、うまくいかないケースがありますね。
IEは、ホスト名に「_(アンダースコア)」が含まれる場合、Cookieを保存しないという仕
様(バグだよなぁ)があるそうですよ。こんなの、普通、知りませんわな。
p.s.
今日、柏キャンパス一般公開に行きました。柴崎先生とも話が出来ました。先生はお元気そうでしたよ。