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