我遇到了问题。我有一个网页,我使用后退按钮锚链接,使用的代码是ONCLICK="history.go(-1)"
。同一页面有许多锚链接和相关部分。
当我转到包含后退按钮并立即点击后退按钮的页面时,后退按钮正常工作。
如果我转到包含后退按钮的页面,然后点击指向同一页面中某个部分的锚点链接,然后点击后退按钮,那么它永远不会转到上一个网页,而不是转到部分网址。
答案 0 :(得分:2)
通过新的历史记录API,您可以manipulate the browser history。
History.js可帮助您以跨浏览器的方式实现此目标。
我已经快速创建了一个small fiddle来说明它正在运行并使用jQuery进行事件处理(这不是生产代码,只是一个演示,可以在我的Chrome中运行)。
$('.anchor').click(function () {
history.replaceState({}, '', this.href);
});
答案 1 :(得分:1)
如果是这样,您可以使用javascript通过简单地使用此行来解决此问题。
使用history.go()
JavaScript函数,如下所示:
<a href="javascript:window.history.go(-1);">Go back</a>
答案 2 :(得分: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/