• 締切済み

IE8の挙動について

初めて質問させて頂きます。 IE8の挙動でかなり困っております。 症状としては、 # A.php 入力フォーム  セッションにGETパラメータの値を格納し、その後フォームを出力するページです。 #B.php 入力確認ページ  A.phpで入力された内容をプログラムで入力チェックし、エラーがあった場合はエラーページへリダイレクト。 #index.php トップページ http://example.com と言う基本的なページなのですが、 A.php から B.phpへ遷移した際に、IE8の一部の環境(?)でエラーと判断されてエラーページにリダイレクトされてしまいます。 入力項目に不備は無く、よくよく調べていくと、A.phpで格納したはずのセッションパラメータが消えてしまっていました。 直接B.phpが呼ばれたのかと考え、アクセスログを確認したところ、正常の遷移でした。 そこでアクセスログを確認していたところ、 A.phpを開いた際に、何故か同一のクライアントからindex.phpへのアクセスが入っている様でした。 つまり、  url: A.php?id=xxxxx 接続   ↓  セッション格納   ↓  HTML出力   ↓  終了 これが正常の動きなのですが、 出力されたHTMLの中で、index.phpへ勝手にアクセスが発生していました。  url: A.php?id=xxxxx 接続   ↓  セッション格納   ↓  HTML出力   ↓ → index.phpへアクセス  終了 このindex.phpの中では不要なセッションを削除する処理が動いている為、削除されてしまっている為に、 A.phpの表示は正常だが、次にB.phpへ遷移した時にパラメータが不正の為、エラーとなっている。 と言う状況だと思われます。 最初クッキーが無効になっていないとか、JSとかも疑いましたが、そこはクリアでした。 ページ内で画像タグ等でindex.phpへのurlが記載されていないか確認しましたが、その様な記述はありませんでした。 一箇所だけトップページへのリンクが記述されているだけでした。 これが怪しいとは思いますが・・・・ 一番厄介なのが、この症状はIE8であれば全員出るかと言ったら違う様で、 殆の人が正常に機能しています。 極一部の方だけ発生している様です。 このサイトは15万人以上の会員を抱えていて、現在運用中のサイトで、この症状はそのサイトのお客様に発生しています。 その為、電話越しに一つ一つ確認する事も出来ず・・・・ 社内の人間や、知人等にもお手伝い願ったのですが、再現せずに困っております。 最初一人だけだったのですが、二人目の方からも電話がコールセンターに来てしまっており、 一人目の人には散々待たせてしまっているので、若干ご立腹状態らしく・・・ 二人の環境は  OS XP IE8  OS 7 IE8 です。 共通項はIE8となります。 何らかの設定が悪さしているのかとも考えていますが、社内のPCで設定をいじりまくっても再現せずです。 もう一つの共通項として、ふたりともOSって何?と言うレベルの方たちなので、設定をいじっているとも思えません。 息子さんか誰かがいじっているのかもしれませんが・・・・ http://d.hatena.ne.jp/chiheisen/20090831/1251733258 ここに書かれている内容が微妙に近いので、探したのですが、 baseタグは特に使用しておりません。 ただ、この辺りだろうなとは考えていますが、いかんせん再現させる事が出来なく・・・・ そしてお客さんに聞く事も出来ず・・・・ お手上げ状態です。 何方か御存知の方おられましたらご教授頂けますと助かります。 また、これ以上に必要な情報等御座いましたら出せる範囲となってしまいますが、お出しします。 ※サイトが特定されかねないので、すみません;; 以上何卒宜しくお願い致します。

みんなの回答

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.1

IE8から、firefoxなどにあった先読み機能が取り入れられましたfirefoxだと、確かnetwork.prefetch-next関連の設定で、そのページにあるURLに対してあらかじめ先読みをしておいて、リンクが有効になった時点ですでにデータをダウンロードして置くことで表示を早める機能です。 >JSとかも疑いましたが、  これは、IE8には、base hrefを指定している場合、誤って解釈するバグのことかな? (もしbase hrefを設定しているなら・・・・  formが送信されたとき、隠しnameを合わせて送らせて、それをチェックすることでブラウザの先読みによるものの場合は、セッション管理をキャンセルするなどの対応がよいかも・・  他のブラウザでは??

gonzares328
質問者

お礼

ご回答ありがとうございます。 先読み機能が悪さしているんであろうと言うのはなんとなくわかるのですが、これってデフォルトで有効になっているんですかね・・・ この設定の確認方法を調べてみます。 ググッても中々出てこなくて。。。 みんな同じ症状が出ていれば良いのですが、再現しないものですから。 一応index.php内でセッションをけしている部分は解除しても問題無い部分なので、一旦コメントアウトして様子見てみます。 全く関係ないとは思いますが、無理矢理IE7互換モードにしてみてはどうかと思い、metaに書いてみていますが(笑)