我有一个选择框,点击后会更改基于AJAX的页面的URL中的哈希值。我有一个函数定期检查window.location.hash进行更改,然后相应地更新内容。以下代码是更改选择时更改URL的函数。它适用于Firefox,但我不能让它在IE中工作!我一直得到一个Object不支持这个属性或方法错误:
#ob是我的选择
$("#ob").change(function() {
ob = $(this).val();
window.location.hash = "#ob=" + ob;
});
有什么建议吗?谢谢!
答案 0 :(得分:1)
问题不在于哈希,错误发生在之前的行中 使用var-keyword声明变量:
$("#ob").change(function() {
var ob = $(this).val();
window.location.hash = "#ob=" + ob;
});
答案 1 :(得分:1)
我只是选择经过实战考验的图书馆来处理您的所有事情,而不是自己动手进行管理。我最喜欢的是jQuery BBQ。
$("#ob").change(function() {
var ob = $(this).val();
$.bbq.pushState({ ob:ob });
});
作为额外的奖励,BBQ会挂钩现代浏览器的onhashchange
事件,而不是轮询location.hash
的更改。