当前位置: 首页 > 面试题库 >

使用HTML5历史记录API的好教程(Pushstate?)

龚宏壮
2023-03-14
问题内容

关闭。 此问题不符合堆栈溢出准则。它当前不接受答案。

想改善这个问题吗? 更新问题,使其成为Stack Overflow
的主题。

5年前关闭。

我正在研究使用HTML5历史记录API解决与AJAX加载的内容的深层链接问题,但我正在努力下手。有谁知道任何好的资源吗?

我想使用此方法,因为这似乎是允许发送那些链接可能未打开JS的可能性的好方法。当使用JS的人向不使用JS的人发送链接时,许多解决方案都会失败。

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

http://html5demos.com/history


问题答案:

要获得出色的教程,您仅需要有关此功能的Mozilla开发人员网络页面:https
:
//developer.mozilla.org/en/DOM/Manipulating_the_browser_history

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

您可以在此处阅读有关History.js的更多信息:https
:
//github.com/browserstate/history.js

有关Hashbangs VS哈希VS
HTML5历史API的文章,请参见此处:https : //github.com/browserstate/history.js/wiki/Intelligent-
State-Handling



 类似资料:
  • 读取播放历史信息 调用地址 http://api.bilibili.cn/history 返回 返回值字段 字段类型 字段说明 results int 返回的记录总数目 list object 返回数据 返回字段 “list” 子项 返回值字段 字段类型 字段说明 aid int 视频编号 typeid int 视频分类ID typename string 视频分类名称 title string

  • 历史记录 控制台维护 Elasticsearch 成功执行的最后500个请求列表。点击窗口右上角的时钟图标即可查看历史记录。这个图标会打开历史记录面板,您可以在其中查看历史请求。您也可以在这里选择一个请求,它将被添加到编辑器中当前光标所在的位置。 图 9. 历史记录面板

  • 3.3.1.1. 同步的文件历史记录 微力同步记录对文件的添加,修改、删除的操作记录,通过历史记录列表可查看时间时间及发生设备,如下: 事件时间,显示添加、修改、删除等操作发生的时间; 文件时间,显示该文件的最后修改时间; 操作类型,显示此次针对该文件所进行的操作的类型; 发生设备,显示进行此操作的设备名称; 目录,显示该文件所属同步目录; 清空历史记录,点击后可清除所有记录,此操作仅清除记录而已

  • 我正在使用“< code>fancy box”,并试图将我的url更改为< br > fancy box 的url,因此我尝试使用< code>History.pushState()。< br >但它会导致错误< br >错误: 我会搜索它,但没有找到答案,请帮助我 或为我提供更好的解决方案 (我发现:Javascript history.PushState不起作用?但从答案中我不明白我的代码有什

  • 入口: 在路线规划右上角,有历史记录入口,无论“单路线规划”、“多路线规划”的结果,都会自动进行记录,点击进入该界面 在“路线规划”模块下展开二级模块“历史记录”,可以点击进入 历史记录列表 支持按照时间搜索记录 支持单个删除记录 支持一键删除全部记录 支持点击查看规划历史详情 历史详情 记录规划人、规划时间、规划结果 结果详情界面回放、支持点击查看

  • 我希望通过使用一个新表来存储一个日志,其中记录了在每次更新/插入中进行更改的用户、日期以及任何更改的内容,从而实现对我的一个模型实体的历史记录跟踪/审核。 我使用EclipseLink作为我的JPA提供者,但我不想使用它的历史策略,因为提供者将来可能会改变。出于同样的原因,我不能使用Hibernate Envers。 我研究了SpringData提供的审计支持,但它似乎非常基本,它只允许您存储创建