我正在构建一个 Angular 2 应用程序。当用户加入 wifi 网络并被重定向到在强制网络门户中呈现的应用程序时,应用程序将引导。该应用程序适用于除OS X的Safari之外的所有其他浏览器。
我无法调试它,但通过研究OS X的行为,似乎强制门户助手启动了一些不支持会话存储的受限浏览器。
https://grpugh.wordpress.com/2014/10/29/an-undocumented-change-to-captive-network-assistant-settings-in-os-x-10-10-yosemite/
这会破坏我的应用程序,因为当名称被引导时,它需要在将用户重定向到登录页面之前将标志存储在会话存储中。这些标志是登录页面用来确定用户是通过 wifi 重定向还是应用程序 URL 进入应用程序的标志。
如何解决此问题?我已经研究了,但没有找到任何解决我的问题的方法。我们的应用程序基本上是从用户尝试访问私人wifi网络的角度开始工作的,这需要在Mac上运行。
使用 cookie 来存储标志?您甚至可以检查window.sessionStorage
可用性,并在不可用时回退到 cookie。