首页 >web前端 >js教程 >如何从 AngularJS 路由中的 URL 中删除哈希值?

如何从 AngularJS 路由中的 URL 中删除哈希值?

Barbara Streisand
Barbara Streisand原创
2024-11-30 22:41:15384浏览

How Can I Remove the Hash from URLs in AngularJS Routing?

AngularJS 中的路由:避免哈希

在 AngularJS 中, $routeProvider 允许您为应用程序定义路由规则。默认情况下,这些 URL 包含格式为 app/#/test 的哈希 (#)。

为什么 AngularJS 使用哈希?

哈希被用作浏览器的后备不支持 HTML5 的 History API。在这些浏览器中,导航到带有哈希值的 URL 会触发客户端事件,而不是向服务器发出 HTTP 请求。这允许 AngularJS 处理路由并防止服务器受到不必要的攻击。

禁用哈希

为了避免在 URL 中使用哈希,您可以使用 $locationProvider.html5Mode(true)配置。这将指示 AngularJS 使用 HTML5 History API(如果可用)。

这是一个示例:

app.config(function($locationProvider) {
  $locationProvider.html5Mode(true);
});
浏览器支持

HTML5 History API 仅在现代浏览器中受支持。支持的浏览器列表可以在 Can I Use 网站上找到:http://caniuse.com/#feat=history

如果您需要支持较旧的浏览器,则需要将哈希值保留在您的浏览器中。 URL 或为 History API 提供填充。

以上是如何从 AngularJS 路由中的 URL 中删除哈希值?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn