gpt4 book ai didi

ios - "apple-mobile-web-app-capable"注销后站点切换到 Mobile Safari

转载 作者:可可西里 更新时间:2023-11-01 05:31:15 25 4
gpt4 key购买 nike

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

但是,当用户注销并且 session 被销毁时,iOS 设备会离开全屏模式并在 Mobile Safari 窗口中打开登录页面。

这是一个常见的事件序列:

  1. 用户点击主屏幕上的按钮以在 iOS 完整版中启动移动网站屏幕模式
  2. 服务器将用户重定向到登录页面进行身份验证(仍然全屏显示)
  3. 用户登录,并被重定向回移动主页(仍然全屏显示)
  4. 用户通过 GET 和 POST 执行各种操作,一些使用 AJAX,一些不使用(仍然全屏显示)
  5. 用户点击注销按钮,这会破坏 session 并重定向回登录页面
  6. 第二次打开 Mobile Safari 窗口以呈现登录页面

我在注销成功时尝试了 301、302 和 303 重定向,但似乎没有任何改变这种行为。这似乎与在全屏模式下运行时用户 session 结束有关。我认为这无关紧要,但安全机制是通过运行在 Tomcat 上的 Spring Security 实现的。

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

最佳答案

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

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

我之前遇到这个的印象是任何非 ajax/javascript 导航都会导致应用程序跳转到 safari 以提供页面

关于ios - "apple-mobile-web-app-capable"注销后站点切换到 Mobile Safari,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12161479/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com