Ser*_*.by 5 javascript hash hashtag single-page-application
我们正在开发带有哈希标签导航的 SPA。在另一个 SPA 网站上看到有散列标签 URL,如http://example.com/#!/users 我们的应用程序当前实现散列标签 URLS 没有 ! (bang,感叹号)像http://example.com/#/users 在 URL 中使用 bang 标记有什么原因吗?我已经检查了一些 SO 问题,一些文档: URL hash-bang (#!/) 前缀而不是 Angular 1.6 中的简单哈希 (#/) 人们希望摆脱他们的 SPA 中的感叹号。
但是,Angular Changelog 指出在 URL 中添加 bang 标记是一个重大变化: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 中使用感叹号吗?这有什么意义吗?
提前感谢您的回答!
正如@ceving已经解释的那样,原因是为了避免与元素 id 发生冲突。如果您查看下面的示例并考虑使用一个名为“main”的角度控制器,那么应该如何解释 URL 会产生冲突。
如果您单击“Goto Main”,您会看到光标在跳动,否则不会。
<a href="#main">Goto Main</a>
<a href="#!main">Open Main Controller</a>
<p id="main">I am main!</p>Run Code Online (Sandbox Code Playgroud)