【发布时间】:2011-03-16 22:10:23
【问题描述】:
我目前正在 Firefox 3.6.15 中测试一个 AJAX 应用程序,当我需要不重新加载页面时,它使用 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);
这很好用。我最终得到了这个结果。 '#numbers/categories' 变为 '#numbers/categories/eba38179-d492-4bb9-ba66-1bfa4c3571fb'
但是,如果我手动进入浏览器导航栏并将 '#numbers/categories' 更改为 #numbers/categoriesX',则在我运行 click 函数时哈希不会更新。
我在测试 chrome、safari、ie9、ie8 的任何其他浏览器中都没有这个问题。只有 Firefox 表现出这种行为。我知道这是一个罕见的案例,但它仍然是用户体验问题。
提前感谢您的帮助。
【问题讨论】:
-
window.location.hash != window.location.hash + '/' + categoryID总是返回true我猜 - 这就像检查一些x到x + 1的不相等性。
标签: javascript ajax firefox hash