history.js和this question有问题,后来的答案给我带来了更多的问题。
问题1:
popstate和statechange侦听器似乎都是由pushState()和popState()触发的,而pushState()和popState()认为答案是由设计触发的?
我只想侦听popstate事件,我知道我可以使用data参数进行检查,但是将数据和标题参数设置为任何不是null的东西都会在IE8/9的哈希中添加一些额外的内容,如下所示:
http://www.site.com/#about/?_suid=13383514298760299522541335484我知道我可以创建一个额外的变量来处理这个问题,但是我不想。
问题2:
同样在IE8-9中,如果我现在删除主页的散列,您将如何删除?
History.pushState(null, null, 'http://www.site.com');这个网址是这样的:
http://www.site.com/#http%2A//www.site.com如果我这么做的话
History.pushState(null, null, '');
History.pushState(null, null, '/');这个网址是这样的:
http://www.site.com/#./但我想让网址采取以下任何一种格式:
http://www.site.com
http://www.site.com/
http://www.site.com/#
http://www.site.com/#/我正在使用jQuery历史插件。
发布于 2013-12-23 04:52:18
我不确定问题1的答案。
但是,对于问题2,该问题与HTML5浏览器与HTML4浏览器的功能有关。从文件中:
对于HTML5浏览器,这意味着您可以直接修改URL,而无需再使用散列。对于HTML4浏览器,它将恢复到使用旧的onhashchange功能。
因此,HTML4浏览器被哈希urls卡住了。抱歉的。
https://stackoverflow.com/questions/16202891
复制相似问题