Ben*_*aum 5 javascript html5 routing hashchange pushstate
我有一个单页面应用程序 - 这意味着服务器上的所有内容都被重定向到一个index.html文件,该文件使用HTML5历史记录api(pushstate)完成繁重的工作.
现在,我想在旁边添加一个新的登陆页面 - 让我们调用它landing.html,我希望客户端landing.html在访问时首先访问它们/以及index.html是否访问任何其他路由.
现在,IE9不支持HTML5历史API,因此,使用"哈希的URL"路径一样/books/authors成为/#!/books/authors它.由于URL的散列部分没有发送到服务器,只要涉及服务器,所有路径都/意味着我无法路由到landing.html或index.html基于该逻辑.
我想过一个黑客-用重定向的URL /来landing.html,检测#!客户端,服务器(或客户)呼吁增加一个cookie notReallyHomePage和基于服务器上的Cookie重定向到正确的页面.这真是太烂了,不是一个好的解决方案.
在这种情况下,处理路由的正确方法是什么?
我的后端是在ASP.NET MVC中,但我认为这与问题无关
嗯……landing.html 的内容是什么?从它的名字我猜它是一个非常简单的页面。
难道你不能将其内容作为index.html的一部分并根据“首次用户”逻辑隐藏/显示它吗?或者,如果landing.html是由您的营销或其他东西创建的一些奇怪的页面,则将其放置在根据相同逻辑隐藏/显示的iframe中。
(显然,当您显示landing.html时,您就会隐藏index.html)
| 归档时间: |
|
| 查看次数: |
271 次 |
| 最近记录: |