4

私は問題に直面しています。戻るボタンのアンカー リンクを使用する Web ページがあり、使用されるコードはONCLICK="history.go(-1)". 同じページに多くのアンカー リンクと関連セクションがあります。

戻るボタンを含むページに移動してすぐに戻るボタンをクリックすると、戻るボタンが正常に機能します。

戻るボタンを含むページに移動し、同じページ内のセクションを指すアンカー リンクを押してから戻るボタンを押すと、前の Web ページには移動せず、代わりにセクションの URL に移動します。

4

3 に答える 3

2

新しい History API を通じて、ブラウザの履歴を操作できます。

History.jsは、クロスブラウザーの方法でこれを実現するのに役立ちます。

私はすぐにそれが機能することを示し、イベント処理に jQuery を使用する小さなフィドルを作成しました(これは製品コードではなく、単なるデモであり、私の Chrome で動作します)。

$('.anchor').click(function () {
    history.replaceState({}, '', this.href);
});
于 2012-05-17T12:43:55.840 に答える
1

もしそうなら、あなたは単にこの行を使用することによってこれを解決するためにjavascriptを使用することができます。

history.go()以下のようにJavaScript関数を利用してください。

<a href="javascript:window.history.go(-1);">Go back</a>
于 2012-06-25T10:37:04.887 に答える
0

「セクション」リンクがクリックされた回数をカウントするカウンターを試すことができるかもしれません

おそらく次のようなものです(jQueryを使用しますが、親切な人がこのコードを素敵なプレーンなJavaScriptに変更するかもしれません):

var count = 0;
var historyValue = -1;
$(".sectionlinks").click(function () {
    ++count;
    window.historyValue = -(count + 1);
})​

また、すべてのセクション リンクにはsectionlinksクラスがあります。

次に、バックリンクで次のことができます。

<a onclick="history.go(historyValue)">My Back Link</a>

デモについては、このフィドルを参照してください: http://jsfiddle.net/RRcyF/2/

于 2012-05-17T15:08:24.087 に答える