LOVE THE LIFE

20070327

最近、他所の会社で作ったWebシステムの修正とかしてたり。このシステム、Macのブラウザで全く動作しないということでクライアントから相談されて「じゃぁわかる範囲でうちで対応しますよ」という感じで請け負ったもの。

聞いた範囲から推測はできたがやっぱりJavascriptあたりでちゃんと動作しないものというか、WindowsのIEだけでしか対応していなかった。ひでー。

クライアントで使用するマシンはWindowsXPの他にデザイン部門で使用しているMacOS9。MacOS9となるとブラウザがかなり悲しい。MacIE5.1や、Netscape7.02。MacIE5も使うということになるとAjaxな作りはまず除外。ベタベタなJavascriptで作っていくしかない。まぁ、Netscape7系があるだけでもマシかと思いきやこいつがNetscape7.1と微妙に挙動が違う。

Enterキーが押された時の処理

function eAct(keyCode){
  if (keyCode == 0x0d) {
  ※ keyCode == 13にしてしまうと動かないのでASCIIに変換
    alert('Enterキー');    
  }
}

Netscape7.02と7.1の微妙な違い

<input name="a" type="text" onKeyDown="eAct(event.keyCode)"
   onKeyPress="eAct(event.keyCode)" />
onKeyDownのイベント処理だけにすると7.02は動かない。
onKeyPressイベントも含めてやると7.02でも動くようになる。

つーかIEの挙動がすべて正しいと思っているこのシステムを作った会社は一体どういう教え方をプログラマにしているのだろう...。IEはユーザ数が多いだけであって決して正しい挙動をするわけではない。それだけでもプログラマなりに教えてやらないとだめにゃんねぇ。

TRACKBACK URL

TRACKBACK URL FOR THIS ENTRY : http://starsugar.com/tb.php?id=20070327

POST A COMMENT

  • POSTされた内容はすぐに反映されません
  • TAGは使用できません
  • TITLEには必ずひらがなで「すたしゅが」と入力してください

NAME :

URL :

TITLE :

COMMENT :