2007年11月28日

imgタグのsrcが空の時…

サーバ側でそのページにアクセスするとDBにログを登録するようなプログラムを修正していました。
そのページのHTML出力部分を色々変えていて、妙な事に気がつきました。
ページにアクセスすると、DBのログが2件登録されてしまうのです。
自分で作ったプログラムではなかったので、JavaScriptでもう1回submitしているのかな?と思って見てみたけれどもそんな事はしていません。
おかしいなぁ?と思い、ページの要素を削ってどこでもう一度アクセスに行っているのか探してみました。
すると最後に残ったのが
<img src="" alt="nnn">

という部分でした。
このHTMLだけにしてみても相変わらず2回アクセスしてきます。srcが空ではなくてなにか文字列が入っていると1回しかアクセスに来ません。
ファイルの修正途中だったのでsrcが空になっちゃっているのは気がついていましたが…。
うーん。なんて思ったら、わかりました。

URLがhttp://xxx.xx.xx/yyy/xx.phpで、
xx.phpにimg src=""がある時、

・IE6では、http://xxx.xx.xx/yyy/に画像を取りに行きます。
・FireFox(2.0)では、http://xxx.xx.xx/yyy/xx.phpにアクセスに行くのですね…。

FireFoxで試してたので、ログが2回登録されたわけです。

気がつかなかったのにはいろいろ別の要因も…
FireFoxではalt属性があると、画像が存在しない場合などにはaltのテキストを表示します。
本来画像を表示するエリアに「1」とか「2」とかそれらしいテキストが表示されていたので、コードで画像が無い場合の処理とかやってるのか?とか余計なことを考えてしまいました。
IEだと壊れた画像のアイコン?が表示されるんですが、上記の通りFFとは別のURLにアクセスに行くので別の結果になっていました。


このimgタグのsrcが空の時…って前にもハマったことがある気がするので、メモしておきます。トホホ…。
posted by ほえ at 16:13| Comment(0) | TrackBack(0) | XHTML+CSS | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:


この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。