【问题标题】:Chrome and Safari on iOS 12.4 doesn't set cookies timeouslyiOS 12.4 上的 Chrome 和 Safari 没有及时设置 cookie
【发布时间】:2019-12-20 23:55:18
【问题描述】:

在网页中,我在页面加载时设置了一个 cookie,然后检查条件并立即重定向到我读取 cookie 的同一站点上的第二个页面。当我到达第二页时,cookie 没有设置。上述功能适用于桌面浏览器,它适用于 iOS 12.3.1,无需对站点进行任何更改。升级到 12.4 后它停止工作,但仍然可以在 12.3.1 设备上工作。 有什么想法吗?

【问题讨论】:

  • 检查ios是否开启了“阻止第三方cookies”
  • 你是如何设置cookie的?

标签: ios web cookies


【解决方案1】:

这不是一个全面的答案,因为问题中缺少部分。

#1,当用户从本地文件提供页面时,通常会出现此问题。

例如:file:///C:/project/index.html

Cookie 需要设置一个正在运行的网络服务器。这意味着您至少需要从http://localhost/index.html 提供服务。

#2,您正在设置 cookie 中的路径。这意味着 cookie 仅限于一个路径。

// Example:
document.cookie = "key=value; expires=; path=/my/path/"

这里的cookie只会在声明的url路径中有效。

【讨论】:

  • 不,这不是这里的问题。
  • 你的 url 结构是什么。那么你是如何设置cookies的呢? @dataphile
  • 我正在使用 Angular。您看到它在桌面浏览器和 12.3.1 设备上运行的部分了吗?
  • 将 Angular 作为标签会很有帮助。
  • 它不仅限于 Angular,因此问题与 Angular 无关。它在 iOS 上运行的事实应该告诉您这不是 file:///C:... 的事情。
猜你喜欢
  • 1970-01-01
  • 2017-12-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-12
  • 1970-01-01
  • 1970-01-01
  • 2016-05-12
相关资源
最近更新 更多