windows .location.hash没有创建浏览器历史记录条目
window.location.hash not creating browser history entry
我正在运行一个简单的:
window.location.hash = "hash";
在页面加载后立即在url中添加散列。得到mySite.com/aPage#hash。当我单击后退按钮时,我希望url更改回mySite.com/aPage,而不需要任何实际的加载/返回。相反,我被带回到mySite.com/aPage之前的历史条目。
它工作得很好,当我调用window.location.hash时,例如在由用户触发的点击事件回调中。
我创建了一个测试:http://jsbin.com/idukiz/1/参见代码:http://jsbin.com/idukiz/1/edit只有在setTimeout函数中添加的最后一个哈希值才会像我期望的那样运行。任何想法如何使它的工作没有setTimeout?
任何想法如何使它的工作没有setTimeout?
一个动态创建的<a>
与href的#yourHash
,您dispatchEvent
鼠标点击。
window.onload = function () {
location.hash = 'foo'; // no history item created, just to help visibility
var a = document.createElement('a'),
ev = document.createEvent("MouseEvents");
a.href = '#bar'; // this will create history item
ev.initMouseEvent("click", true, false, self, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
a.dispatchEvent(ev); // dispatch click
};
代码的演示在这里。
相关文章:
- window.location替换并传递URL历史记录条目中的变量
- Javascript历史记录转换为php行
- 浏览器何时记录历史记录
- 输入类型按钮返回历史记录并返回顶部
- HTML5历史记录-返回上一个完整页面按钮
- asp.net网站文件下载历史记录
- 使用Ajax的后退按钮历史记录,URL中没有散列
- 历史记录和通过JavaScript修改的HTML
- Javascript:历史记录未加载页面
- 通过js设置页面历史记录和页面内容
- 如果没有历史记录,我如何隐藏图像或按钮onclick=;历史.go(-1);
- 将HTML表单发布到iframe会导致浏览器历史记录出现问题
- 如何防止浏览器在历史记录中缓存HTML
- 如何将新的stateObject添加或附加到历史记录中
- 检查浏览器后退按钮历史记录
- React-router 在添加历史记录后不会渲染组件
- 如何返回可用的历史记录状态数
- 引导选项卡不适用于历史记录.返回选项
- 记录 iframe 的历史记录
- 计算历史记录中的页数