从 #anchor 中删除角度哈希和前缀



我正在努力使直接锚链接到站点。 当我尝试通过以下方式链接到 ID 时:https://www.somesite.com/cl/details/agents#20841
其中#20841 是我的锚标签。Angular 会破坏网址并使其:
https://www.somesite.com/cl/details/agents#!#20841
这在Chrome和Firefox中工作正常,但在Internet Explorer和Edge中,它不起作用,所以它会"破坏"URL。我试图将前缀更改为"!",而不是"/"。

有人可以解决此问题吗?

如果您使用的是 Angular 1.6,您可以通过将此代码添加到您的配置中来删除此前缀:

appModule.config(['$locationProvider', function($locationProvider) {
  $locationProvider.hashPrefix('');
  $locationProvider.html5Mode(true);
}]);

请注意,由于HTML5兼容性,IE9不支持它。

有关详细信息,请参阅此链接。

最新更新