“apple-mobile-web-app-capable”网站在注销后切换到Mobile Safari

当我在iOS全屏模式下使用“apple-mobile-web-app-capable”元标记运行移动网站时,我使用AJAX和同步页面请求(包括重定向)的组合,在用户登录时成功。“apple-mobile-web-app-capable”网站在注销后切换到Mobile Safari

但是,当用户注销并且会话被销毁时,iOS设备将保持全屏模式并打开登录移动Safari窗口中的页面。

这里是事件的共同序列:

  1. 用户点击主屏幕按钮,在iOS的全 屏幕模式推出移动网站
  2. 服务器重定向用户到登录页面的全屏认证(仍)
  3. 用户登录,并且被重定向回手机之家(还是在全屏)
  4. 用户进行各种操作,通过GET和POST,一些使用AJAX,有些不是(仍处于全屏)
  5. 用户点击退出按钮,它破坏会议,并重定向到登录页面
  6. 移动Safari浏览器窗口打开并呈现登录页面,这第二次

我已经试过301,302和303重定向上登出的成功并没有什么似乎改变了这种行为。这似乎与用户的会话在全屏模式下运行时相关。我不认为这很重要,但安全机制是通过在Tomcat上运行的Spring Security实现的。

有什么办法可以防止这种行为?我不希望在注销时使用location.href客户端重定向。

回答:

您可以通过使用jQuery的事件委托为页面上的所有链接分配单个顶级事件处理程序来取消链接默认行为。当检测到点击事件时,我们取消默认行为(即在移动Safari中打开),然后手动更改窗口的位置。这种方法可以在不破坏iPhone独立应用程序体验的情况下更改页面。

http://www.bennadel.com/blog/2302-Preventing-Links-In-Standalone-iPhone-Applications-From-Opening-In-Mobile-Safari.htm

我的印象是从运行到这个之前,任何非Ajax/JavaScript的导航会导致应用程序跳进Safari浏览器,从而在页面

以上是 “apple-mobile-web-app-capable”网站在注销后切换到Mobile Safari 的全部内容, 来源链接: utcz.com/qa/257558.html

回到顶部