Safari 的安全策略太严格了,iframe 嵌套的网站的 cookie 被认为是不安全的,因此不允许保存,这就导致了用户即使在 iframe 中登录了网站,也无法保持登录状态,每次跳转页面之后就需要重新登录。
在网上搜了一圈,目前只看到一种解决办法:
就是强行把 iframe 的父级页面跳转到子页面所在的网站,然后设置好 session ,再重定向到父级页面,这时候设置的 cookie 就被认为是安全的了。
但是问题来了,我们的父级页面是一个静态 html 文件,只能在本地通过 file:// 协议打开,根本就不算是一个域名,所以也无法重定向过来,有没有什么办法能突破这种限制,使得 iframe 中的网站能够成功登录并保持登录状态?
另外,我们的 html 页面是在 iOS 程序中打开的,能否通过 iOS 技术解决?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/213034
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.