javascript - 为什么我们需要在哈希导航 URL 中使用感叹号?

标签 javascript hash single-page-application hashtag

我们正在开发带有散列标签导航的 SPA。在另一个 SPA 网站上看到有哈希标签 URL,如 http://example.com/#!/users 我们的应用程序目前实现的哈希标签 URLS 没有! (砰,感叹号)像http://example.com/#/users 在 URL 中使用感叹号有什么原因吗?我检查了几个 SO 问题,一些文档: URL hash-bang (#!/) prefix instead of simple hash (#/) in Angular 1.6 人们希望摆脱 SPA 中的感叹号。

但是,Angular Changelog 指出在 URL 中添加感叹号是一项重大更改: https://github.com/angular/angular.js/blob/master/CHANGELOG.md#location-due-to

Google 的文档还展示了带有感叹号的示例: https://developers.google.com/webmasters/ajax-crawling/docs/getting-started

我的主要问题是 - 为什么我们需要哈希 URL 中的感叹号?有什么意义吗?

预先感谢您的回答!

最佳答案

RFC 3986指定 URL 片段以哈希开头。片段通常引用 HTML anchor 。和 HTML 4定义 HTML anchor 的 ID 不能包含爆炸。

如果您想确保您的标签不会与 HTML anchor 冲突,用爆炸标记标签可能会很有用。

关于javascript - 为什么我们需要在哈希导航 URL 中使用感叹号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46441996/

相关文章:

javascript - Ajax 路径适用于一个数组,但不适用于另一个数组

javascript - 如何清空变量/将变量恢复为未定义?

arrays - 在 Perl 中使用 FTP 流中的哈希值

javascript - 条件 Promise 链

Javascript - 在错误条件下运行代码

ruby - 减少哈希值

php - session 哈希大小重要吗?

运行时的 Javascript 前端配置

javascript - Breeze js缓存如何知道子实体是否被更改?

node.js - Vue JS Intellij 设置