AngularJS如何使用route删除IE9中的#符号

The*_*Cat 8 routes using internet-explorer-9 angularjs

我无法删除IE9中的#符号.我搜索了一个答案,但没有找到解决办法.

这总是重定向到

http://myhost.com:8080/#/website/
Run Code Online (Sandbox Code Playgroud)

并显示此描述:

The requested resource is not available.
Run Code Online (Sandbox Code Playgroud)

locationprovider.html5mode(true)不管用.同样的路线在FireFox中工作并显示

http://myhost.com:8080/website/
Run Code Online (Sandbox Code Playgroud)

我怎么能纠正这个?

kar*_*una 6

IE9没有html5历史api支持,这就是为什么它将#追加到url,删除#将无法解决你的问题


Umu*_*acı 6

$ location文档

请参阅"Hashbang和HTML5模式"

基本上,html5模式History API在浏览器支持时使用,并#在不支持时回退到hashbang().

在没有History API的浏览器中,您不能"只"删除"#".因为当您更改网址时,浏览器会尝试强制重新加载,从而打破流量.