2007年11月アーカイブ

Safari問題

今更だけど、Safari 3にて少々困る現象が見つかったのでメモ。

 

1. 「戻る」ボタンで戻ったときの画像のパス

ロールオーバー時に画像を切り替えるJavascriptを使用している場合、ロールオーバー後の画像をデフォルトとして読み込むらしい。自前のロールオーバースクリプトは画像のファイル名に「o」ってつけてロールオーバー画像を呼び出すので、更に「o」をつけてるみたい。前バージョンのはちゃんと動くんだけど・・・、onClickで元の画像に戻してあげる必要がある。

 

2. Safari Hackが使えない?

「html:\66irst-child #xxx」が使えなくなったらしい。ただし、相変わらず背景画像のポジションとかのバグが残ってるため困る。

当面、Javascriptで回避するしかないかも。

 

特に1についてはWin Safariだと再現しないため、非常に厄介。OSのバージョンに関係なくSafariをインストールさせてよ、Appleさん!

QuickFormの入力チェックの注意事項

QuickFormの入力チェックは2バイト文字を考慮していないため、場合によってはJavascriptのチェックはクリア出来るが、サーバサイドのチェックがクリアできない場合がある。結論から言うとQuickFormの入力チェックは信用せずに自分で作った方がいい。

相当ハマッたのでメモ。

 

今のところ確認済みの問題

・length

今時のブラウザは2バイト文字の文字数も正しくカウントするが、QuickFormのチェックでは1バイトづつカウントする。全角文字が入力される場合の文字数チェックは自前で作る必要がある。

 

・numeric

これ、大問題。Firefoxは正規表現で\dを指定した場合、全角数字もマッチしてしまう。QuickFormの書き出すJavascript側のnumericチェックは上記の\dを使ってチェックするため、ブラウザチェックは通って、サーバ側でエラー言われてしまう。apllyfilter使うしかないけど、Smarty使ってる場合、表示用にPluginで変換処理をかます必要がある。

 

まだ、まだ、問題ありそう。