【问题标题】:Captive Network Assistant in Safari does not support Session StorageSafari 中的 Captive Network Assistant 不支持会话存储
【发布时间】:2017-03-29 09:30:33
【问题描述】:

我正在构建一个 Angular 2 应用程序。当用户加入 wifi 网络时,应用程序被引导,他们被重定向到在 Captive Portal 中呈现的应用程序。该应用程序可在除 Safari for OS X 之外的所有其他浏览器中运行。

我无法对此进行调试,但从研究 OS X 的行为来看,Captive Portal Assistant 似乎启动了一些不支持会话存储的受限浏览器。

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 上运行。

【问题讨论】:

    标签: angular angular2-routing captivenetwork captiveportal


    【解决方案1】:

    改为使用 cookie 来存储标志?您甚至可以检查 window.sessionStorage 的可用性,如果它不可用,则回退到 cookie。

    【讨论】:

    • CNA 似乎也不支持 cookie。 discussions.apple.com/thread/5258403?tstart=0
    • 哇。然后也许将它们作为查询字符串传递到登录页面?由于您正在进行重定向,因此您将拥有该能力。使用 Angular 路由器获取查询字符串是一件轻而易举的事。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-01
    • 2022-07-08
    • 2011-03-01
    • 1970-01-01
    • 2012-02-22
    • 2016-08-07
    相关资源
    最近更新 更多