当用户将哈希添加到URL时,重新加载浏览器
Make the browser reload when user adds hash to to URL
所以假设您有一个如下的URL:http://yoursite.com/#stackoverflow
如果我在地址栏中键入一个新的散列,它会试图在页面上找到该ID。是否有amy方法(可能使用javascript?)检测浏览器活动,然后强制页面在该URL处重新加载?
谢谢!
您需要绑定到hashchange
事件:
window.onhashchange = function() {
window.location.reload();
};
不过要小心:一些较旧的浏览器不支持此事件(请参阅此),因此您需要一个polyfill。
下面是一个示例,外加一种针对旧浏览器的轮询技术:
if ('onhashchange' in window) {
window.onhashchange = function() {
window.location.reload();
};
} else {
var hash = window.location.hash;
setInterval(function() {
if (window.location.hash !== hash) {
window.location.reload();
}
}, 100);
}
在较新的浏览器上,您可以使用hashchange
事件。事实上,对它的支持相当不错。在较旧的浏览器上,您必须轮询location.hash
(例如,使用setInterval
或setTimeout
)。
值得一看,
这个小插件为跨浏览器支持提供了一个抽象。
http://benalman.com/projects/jquery-hashchange-plugin/
相关文章:
- 创建新数据和加载现有数据需要单独的视图吗
- 钛 - HTTPClient:打开新的控制器加载
- 保持 JavaScript 在浏览器控制台中运行,即使在新的页面加载之后也是如此
- 路由到新页面时加载不起作用
- 如何在新窗口完成加载后执行某些内容
- 使用新标题重新加载 html 页面
- Primefaces在打开新页面时加载数据消息
- Wordpress音频播放器和平滑状态.在新页面重新加载播放器时调用什么回调函数
- 用新数据重新加载renderer3d
- 文本不被渲染后,新的页面加载- JQuery移动
- 需要在新标签中加载pdf/doc文件,而不是下载,只是想在浏览器中阅读
- 用新参数重新加载页面
- Js和CSS不检测新页面何时加载
- 在新页面上加载一个flash视频,它在上一页上的位置
- 在新窗口中加载代码编写器视图
- 在控制台中使用新脚本重新加载页面
- 如何在加载新页面后加载AJAX数据
- 如何使用jQuery在新窗口中加载页面,然后关闭它们
- Jquery没有看到新的HTML加载到对话框中
- 无法用新值重新加载JGrid