7

ユーザーが次のように戻るボタンを押したときに、ブラウザーが前のスクロール位置にスナップしないようにする必要があります。

<a href="javascript:history.go(-1)"
      onClick="javascript:history.go(-1)" title="< GO BACK"></a>

そのボタンを押した後、ブラウザはこのページの前のスクロール位置に戻ります。その動作を停止して、ページの上部をロードしたいだけです。

誰かが適切な解決策を知っていることを願っています。

-例-

ページを開く 下にスクロールする 新しいページに移動し、戻るボタンを押すと、前にスクロールした場所までページが自動的に下にスクロールします。

4

3 に答える 3

1

あなたが説明している動作は、ユーザーの好みと見なされるものの 1 つとして最もよく分類されると確信しています。(改ざんしてはいけないものの 1 つ)

@mrtsherman はこのためのハック/回避策を考え出しましたが、それが Web アプリケーションの使いやすさを著しく損なうものでない限り、ユーザーが通常どおりに動作することを期待するようにブラウザーを動作させる必要があると思います (そして、ユーザーが去ったときの位置までスクロールします)。ページ)。mrtsherman の js の甘いナゲットを使用する場合は、賛成票を投じてください。

于 2012-07-16T21:18:52.490 に答える
0

私は同じ問題を抱えており、まだ正しい解決策を見つけていませんが、
この問題に対する非常に優れた回避策を提供できます。

次のページを読み込むに、一番上までスクロールしてください。
ユーザーがクリックして戻ると、ブラウザは一番上にスクロールします。

例:

先頭ページ:
<a href="page2.htm" onclick="window.scrollTo(0, 0);">Next</a>

2 ページ目:
<a href="page1.htm" onclick="history.go(-1); return false;">Back</a>

href="page1.htm"ユーザーが新しいウィンドウ/タブで開くを選択した場合にのみ読み込まれることに注意してください

英語ですみません。これが役立つことを願っています。

于 2013-01-23T11:31:49.980 に答える
-4

より良い解決策を見つけました!

次のコードをすべてのページに配置します。

<script>
  setTimeout('window.scrollTo(0, 0);', 1);
</script>
于 2013-01-24T15:32:28.173 に答える