【发布时间】:2014-06-08 12:44:53
【问题描述】:
我一直在开发一个必须支持 IE9 的 AngularJS/Rails 应用程序。根据我的阅读,我应该在我的 AngularJS 配置中将 html5Mode 设置为 true,这将对支持它的浏览器使用 HTML5 History API,并回退到旧浏览器的 hashbang URL。
在奇妙的ng-book 中,它说:
"后端服务器必须支持服务器上的 URL 重写 边。为了支持 HTML5 模式,服务器必须确保 为所有应用程序提供 index.html 页面。这确保了我们的 Angular 应用程序将处理路由。”
具体是什么意思?我必须在我的服务器端代码中检测 hashbang URL 并将它们定向到它们的非 hashbang 等价物?
因此,如果我的 AngularJS 内容位于 /v2/challenges/new(在 IE9 中显示为 /#!/v2/challenges/new),这仅意味着服务器端代码必须检测 #!并提供与/v2/challenges/new相同的内容?
我也不太明白使用 hashbang 语法如何规避 IE9 问题?
【问题讨论】:
标签: ruby-on-rails angularjs internet-explorer