由于某些未知原因,我有 “#!” 在Visual Studio 2015中进行调试时,将其添加到我的应用程序网址中。
网址看起来像这样
http://localhost:58394/#!/customers http://localhost:58394/#!/
如果这是某种错字,我已经搜索了所有应用程序,但我不知道这是哪里来的。
我可以在ASP.NET WEB API以及ASP.NET CORE WEB API中看到这一点…
对于前端,我使用角度和角度路线 1.6.0
任何想法是从哪里来的?
我没有使用html5mode或base标签,但我很高兴现在能在#那里,我只是不明白为什么感叹号(!)在那里…
该应用程序不可部署在网络上,并且未使用任何可能使用#!的外部服务。跟踪或其他任何符号。
感叹号刚开始不久就开始出现,所以我想这是由我使用的某些库引起的。
我只想知道为什么存在’!’,以及在其中强制执行此惊叹号的库。
我在angualr 1.6.0 changelog中找到了这个
$ location:默认hashPrefix为’!’ (aa077e,#13812)
更新日志:https : //github.com/angular/angular.js/blob/master/CHANGELOG.md
更改:https : //github.com/angular/angular.js/commit/aa077e81129c740041438688dff2e8d20c3d7b52
突破性变化
哈希$location爆炸URL 的哈希前缀已从空字符串“”更改为爆炸“!”。如果您的应用程序不使用HTML5模式或正在不支持HTML5模式的浏览器上运行,并且您未指定自己的哈希前缀,则客户端URL现在将包含“!” 字首。例如,而不是 mydomain.com/#/a/b/c将变为mydomain/#!/a/b/c。
$location
mydomain.com/#/a/b/c
mydomain/#!/a/b/c
恢复到原来的方式,只需使用
appModule.config(['$locationProvider', function($locationProvider) { $locationProvider.hashPrefix(''); }]);