使用HTML5历史API的好教程(Pushstate?[已关闭]

2022-08-30 02:11:35

我正在考虑使用HTML5历史API来解决AJAX加载内容的深度链接问题,但我正在努力起步。有没有人知道任何好的资源?

我想使用它,因为它似乎是一个很好的方法,允许那些被发送链接可能没有打开JS的可能性。当JS患者向没有JS的人发送链接时,许多解决方案都会失败。

我最初的研究似乎指向JS中的History API和pushState方法。

http://html5demos.com/history


答案 1

对于一个伟大的教程,Mozilla开发人员网络页面关于这个功能就是你所需要的:https://developer.mozilla.org/en/DOM/Manipulating_the_browser_history

不幸的是,HTML5历史API在所有HTML5浏览器中的实现方式不同(使其不一致且有缺陷),并且没有HTML4浏览器的后备方案。幸运的是,History.js为HTML5浏览器提供了交叉兼容性(确保所有HTML5浏览器按预期工作),并选择性地为HTML4浏览器提供哈希回退(包括对数据,标题,pushState和replaceState功能的维护支持)。

您可以在此处阅读有关历史记录.js https://github.com/browserstate/history.js

有关Hashbangs VS Hashes VS HTML5 History API的文章,请参阅此处:https://github.com/browserstate/history.js/wiki/Intelligent-State-Handling


答案 2

我从“潜入HTML 5”中受益匪浅。解释和演示更容易,切中要害。历史章节 - http://diveintohtml5.info/history.html 和历史演示 - http://diveintohtml5.info/examples/history/fer.html