在iOS全屏模式下运行移动网站时,使用“apple-mobile-web-app-capable”元标记,我使用AJAX和同步页面请求的组合,包括重定向,同时用户成功已登录。
但是,当用户注销并且会话被销毁时,iOS设备将退出全屏模式并在Mobile Safari窗口中打开登录页面。
以下是一系列常见事件:
我在注销成功时尝试了301,302和303重定向,似乎没有任何改变此行为。它似乎与用户在全屏模式下运行时的会话结束有关。我认为这不重要,但安全机制是通过在Tomcat上运行的Spring Security实现的。
有没有办法阻止这种行为?我不想在注销时使用location.href客户端重定向。
答案 0 :(得分:6)
您可以使用jQuery的事件委派来取消链接默认行为,以便为页面上的所有链接分配单个顶级事件处理程序。当检测到点击事件时,我们取消默认行为(即在移动版Safari中打开),然后手动更改窗口的位置。这种方法允许在不破坏iPhone独立应用程序体验的情况下更改页面。
我之前遇到的印象是,任何非ajax / javascript导航都会导致应用程序跳转到safari来提供页面