2008/12/18(木)Safariでの動作不良修正
ECO SimがSafariで動作するように
Safariのデバッガの使い方が分かったのでECO SimをSafariで動くように修正しました。
原因は、以下のようにstatusという変数名を使用していたことだったようです。なので全部別名に置換しました。まさかこんな理由で動かなかったとは…。
var status = {}; //Safariでは window.status = {}.toString(); と同じ扱いになる?
他のブラウザでは window.status へオブジェクトの代入が可能だったり、window.status とは独立した変数statusが確保されたりしていたので、正常動作していたようです。どの挙動が正しいんでしょうね?
IE7のcolspanを使ったtableの描画がおかしい
<table border="1"> <tr> <td colspan="3">1111111111</td> </tr> <tr> <td colspan="2">2222222222</td> <td>3</td> </tr> </table>
上のようなtableを作ると、IE7では3が入っているセルの幅が異常に大きくなります。調べてみたもののcolspanを使わない以外の解決法は見つからず。
この問題のせいで「ST初期化」ボタンを単独のセルに入れることができなくなってしまいました(-_-)
2008/11/08(土)IEの JavaScriptバグ
IEの JavaScriptバグ
IEでJavaScriptを使ってリンク先を変更すると、なぜかアンカーテキストまで変更されてしまうという問題が発生。いろいろ試してみると、どうやらアンカーテキストに@(アットマーク)が含まれているとこうなってしまうらしい。
そこで調べてみると同じ事例がいくつか見つかったけど、回避策はアンカーテキストを退避しておいてリンク先変更後に元に戻すことらしい。う~ん、やっぱりそれしかないのかなあ。
しかし、いったいどうしてこんな変なバグができるのだろう(-_-;)
参考
2008/10/12(日)ステータス上昇早見表更新
ステータス上昇早見表の動作速度改善
ステータス上昇早見表を久しぶりに更新しました。といっても動作はそのままで速度の改善だけです。文字列連結をArray.pushとArray.joinに置き換えただけなのですが、IEでの処理速度がかなり改善されました。
参考
- JavaScript の文字列の結合を最適化する
- IEって文字列連結がやたら遅いのね……。