我有一个网站使用jQuery Address plugin from Asual进行导航。IE6和IE7后退/前向散列标记导航问题
我遇到的问题是,当用户使用后退/前进按钮时,使用IE6和IE7时,网站会在意外页面结束。
下面是我现在正在做的事情的简化版本。
$.address.init(function(event) {
defaultPage = "1";
}).change(function(event) {
$("#content").html('<div><img src="/images/activity indicator.gif"></div>')
$("#content").load("./pages/"+names+".html", function(){
var names = $.map(event.pathNames, function(n) {
return n.substr(0, 1).toUpperCase() + n.substr(1);
}).concat(event.parameters.id ? event.parameters.id.split('.') : []);
pageScripts[names]();
});
});
如果我/
页转到#/1
,转到#/2
,然后转到页#/3
上,我对页面#/ 3,与任何没有问题。当我在页面#/3
上IE6或IE7(Chrome,FF,IE8,IE9都可以正常工作)中点击“返回”时,我会一直回到页面/
。点击向前移动到页/#3
。
它从散列标签跳过历史记录。
但是,example from the website在IE6/IE7下正常工作。我无法找到我所做的和它正在做的事情之间的功能差异。
这些不是标签。 “hashtag”是Twitter命名法。 – BoltClock 2011-03-21 19:04:25
@BoltClock你是对的,它实际上在RFC1738中被称为片段/锚点标识符。 - 但是,在JavaScript中,用于监视此事件的事件被称为'onhashchange'。所以我觉得这个用法是可以互换的。 – Incognito 2011-03-21 19:07:05