7

私はたくさんの JavaScript が散在するひどいページを持っています:

リスト ビューがあり、必要に応じて、リスト内の項目の 1 つを詳細に見ることができます。

問題は、ブラウザーの [戻る] ボタンを使用して詳細ビューからリスト ビューに戻りたい場合、異なる結果が得られることです。

Chrome と Firefox では、IE7 でもクリックした場所に移動しますが、IE8 ではそうではありません。

さらにややこしいことに、JavaScript をオフにすると、IE8 でも機能します。

問題は、どこを検索すればよいか分からないことです。誰かがこの問題、または少なくともこれに影響を与える可能性のある JavaScript メソッドまたは関数を知っていますか?

4

1 に答える 1

3

コードなしで決定的な答えを提供することは困難です。過去の IE の経験に基づく暫定的な回答:

IE にはさまざまな動作があります。特に、古いバージョンと標準以外のすべてのバージョン [IE6-、IE7] の交差点にある IE8 と、より標準に準拠している新しい IE9 があります。特に Javascript では、IE は非 IE ブラウザに比べてうるさいかもしれません。

ページを離れたとき (リンクのクリックによる)、または戻ってきたとき (見つけやすい) のいずれかで JS エラーがトリガーされた場合、そのバック動作が発生する可能性があります。

  • ページの下部で離脱(または復帰)時にエラーが発生するかどうかを確認します
  • ページが離れる前にエラーを見つけるのに十分な時間を与えるためにどの機能が設定されるかにより、クリックアクションが遅れる可能性がありますsetTimeoutwindow.location.href
  • リダイレクトが「手動」の場合 (window.location.href=単純な<a>タグではなく) try {} catch、要素がクリックされた後に実行されるコードの周りに を追加してみてください (このonbeforeunloadバグのように)。
于 2013-05-08T14:30:08.400 に答える