2014-02-21 100 views
2

我使用HTML5在加载后更改我的网页的网址。这是因为真正的URL显示了我不想显示的长cacheID。我使用HTML5 History API来更改当前窗口的URL,现在用户可以共享并为URL添加书签,而无需烦人的cacheID。History.js:我只想更改网址,无需管理历史记录

这是我使用的代码,并在页面加载它执行:它执行

<script type="text/javascript"> 
window.history.pushState(null, "Title", "/url"); 
</script> 

后,我在我的地址栏看到:http://mydomain.com/url

这是一件好事。

现在我想使用History.js,以便我的网站可以支持使用旧版浏览器的用户。

我该怎么办?

首先,我包括此:

<script src="http://browserstate.github.io/history.js/scripts/bundled/html4+html5/jquery.history.js" type="text/javascript"></script> 

然后,我把我以前使用的

<script type="text/javascript"> 
window.history.pushState(null, "Title", "/url"); 
</script> 

它不工作相同的代码。因为我认为我必须创建新的对象,但我不知道如何去做。任何帮助,将不胜感激。谢谢。

+0

你有没有试过我的建议? – aknuds1

+0

是的,我刚刚加入: 但它仍然无法在IE8中 – user3338777

+0

在history.js之前或之后包含?你可以做一个jsfiddle吗? – aknuds1

回答

0

在我看来,你已经忘了包含jQuery,因为你包含一个为此而构建的History.js版本。如果没有在jquery.history.js之前添加jQuery,后者将会失败。

编辑

包括jQuery的 jquery.history.js后,做window.History.pushState(null, "Title", "/url");。注意历史以大写字母H开头,这很重要。

有关如何使用History.js,请参阅我的fiddle。我只用Chromium试过,但看看它是否适用于IE8。