来自 $location 的文档
旧版浏览器的回退对于支持 HTML5 历史 API 的浏览器,$location 使用 HTML5 历史 API 来编写路径和搜索。如果浏览器不支持历史 API,$location 会提供 Hasbang URL。这让您不必担心查看您的应用程序的浏览器是否支持历史 API;$location 服务使这对您透明。
它在 FF、Chrome 和 IE10(无论浏览器模式)下都能正常工作。但是,当我尝试在低于 IE9 的模式下进行测试时,带有 hashbang 的后备模式表现得很奇怪。窗口位置按预期转换
http://myserver.net/#!/thewebapp
它显示服务器根内容,因为 angularjs 在渲染过程中失败。
SCRIPT5022: 10 $digest() iterations reached. Aborting!
在阅读了其他 Q/A 之后,我怀疑 IE10 不能这样使用。另一个来源可能是服务器端重写或两者的组合。现在我一点头绪都没有。