IE中不支持JQuery window.location.hash
JQuery window.location.hash not supported in IE?
可能重复:
window.location=#anchor不';不适用于IE
我有一个选择框,当点击它时,会更改我基于AJAX的页面的URL中的哈希。我有一个函数,它会定期检查window.location.hash是否有更改,然后相应地更新内容。以下代码是在更改选择时更改URL的函数。它可以在Firefox中工作,但我无法让它在IE中工作!我一直得到一个对象不支持这个属性或方法错误:
#ob是我选择的
$("#ob").change(function() {
ob = $(this).val();
window.location.hash = "#ob=" + ob;
});
有什么建议吗?谢谢
问题不在于哈希,错误发生在前一行
使用var关键字声明变量:
$("#ob").change(function() {
var ob = $(this).val();
window.location.hash = "#ob=" + ob;
});
请阅读此处的解释:jQuery选择器在IE7/8 中不起作用
与其推出自己的状态管理,不如使用经过战斗测试的库来为您处理一切。我最喜欢的是jQuery BBQ。
$("#ob").change(function() {
var ob = $(this).val();
$.bbq.pushState({ ob:ob });
});
额外的好处是,BBQ会挂接到现代浏览器的onhashchange
事件,而不是轮询location.hash
的更改。
相关文章:
- IE中不支持JQuery window.location.hash
- 历史推送状态不在独立的 location.hash 或 location.href 中,而是在 Location 对象本
- window.location.hash = “”;强制在Chrome和Safari上重新加载框架集
- location.hash总是空的
- 正在尝试将变量传递到window.location.hash
- 从(window.location.hash)中删除哈希
- 根据location.hash传递的数据重新呈现ReactJS嵌套的子组件
- AngularJS location.hash animation
- window.location.hash始终显示为空
- Routing.navigate vs document.location.hash
- window.location.hash,IE,Back and Forward:地址栏中的值更改,但不在DOM中更改
- 在 window.location.hash 中使用斜杠
- 在 Location.hash 上从 URL 中删除 #
- 在移动设备上使用 window.location.hash 和锚标记
- jQuery + window.location.hash 和同页锚点 - 不一致的行为
- 从Chrome 47开始,设置window.location.hash不适用于后退按钮
- “window.location.href”和“window.location.hash”有什么区别
- Firefox 中的 window.location.hash 问题
- 如何使用(location.hash)和(.trigger)进行导航
- Chrome:设置window.location.hash会导致“在页面中查找”搜索框消失