Javascript Firefox和window.location.hash
我目前正在测试firefox 3.6.15中的一个AJAX应用程序,当我需要不重新加载页面时,它会使用window.location.hash更改来进行导航 我有这样一个链接:Javascript Firefox和window.location.hash,javascript,ajax,firefox,hash,Javascript,Ajax,Firefox,Hash,我目前正在测试firefox 3.6.15中的一个AJAX应用程序,当我需要不重新加载页面时,它会使用window.location.hash更改来进行导航 我有这样一个链接: var editCategoryClick = (function (categoryID) { return function () { if (window.location.hash != window.location.hash + '/'
var editCategoryClick = (function (categoryID) {
return function () {
if (window.location.hash != window.location.hash + '/' + categoryID) {
window.location.hash = window.location.hash + '/' + categoryID;
}
}
})(category.ID);
这很有效。我最终得到了这个结果。
“数字/类别”变为“数字/类别/eba38179-d492-4bb9-ba66-1bfa4c3571fb”
但是,如果我手动进入浏览器导航栏并将“#number/categories”更改为#number/categories”,则在运行单击函数时哈希值不会更新
我在测试chrome、safari、ie9和ie8的任何其他浏览器中都没有这个问题。只有firefox表现出这种行为。我知道这是一个罕见的案例,但它仍然是一个用户体验问题
提前感谢您的帮助
onhashchange
事件侦听器以探测哈希更改。对于不支持的浏览器,请使用setInterval
检测更改window.location.hash!=window.location.hash+'/'+categoryID
总是返回true
我猜-这就像检查一些x
到x+1
的不相等性。你知道Dojo中是否有等价的东西吗?