在 Chrome iOS 中使用 javascript 设置 cookie

Posted

技术标签:

【中文标题】在 Chrome iOS 中使用 javascript 设置 cookie【英文标题】:Setting cookies with javascript in Chrome iOS 【发布时间】:2015-02-02 16:20:28 【问题描述】:

在浏览器开始获取图像之前,我需要在 javascript 中设置 cookie。

<script type="text/javascript">
    document.cookie='hidpi=1; path=/';
</script>

<img src="happyNY.png" />

它在所有桌面浏览器和 ios Safari 中都能正常工作。他们正在获取已设置 HTTP cookie 标头的图像。

GET /happyNY.png HTTP/1.1
Host: localhost
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
…
Accept-Encoding: gzip, deflate, sdch
Cookie: hidpi=1

问题是,iOS Chrome 在请求图像时会忽略 cookie。

GET /happyNY.png HTTP/1.1
Host: localhost
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
…
Accept-Encoding: gzip, deflate, sdch

如果您点击 F5,iOS Chrome 将请求正确设置 HTTP cookie 标头的图像。

【问题讨论】:

【参考方案1】:

我找到的唯一解决方案是重新加载 Chrome iOS 浏览器的页面:

<script type="text/javascript">
  if (navigator.userAgent.indexOf('CriOS')>=0 && document.cookie.indexOf('hidpi')<0)
  
    document.cookie='hidpi=1; path=/';
    window.location.reload();
  

  document.cookie='hidpi=1; path=/';
</script>

【讨论】:

我很难找到同样的解决方案。 Chrome iOS 需要重新加载,就像 Dionis 在这里所做的那样才能正常工作。很高兴在这里看到这个答案。干杯

以上是关于在 Chrome iOS 中使用 javascript 设置 cookie的主要内容,如果未能解决你的问题,请参考以下文章

如何在Chrome for iOS中使用getUserMedia

如何在 iOS 版 Chrome 中使用 getUserMedia

我可以在 iOS 设备上的 Chrome 中使用添加到主屏幕吗? [关闭]

IOS 中 chrome 上的智能横幅

使用 iOS 版 Chrome 在同一选项卡中打开重定向链接

在 iOS Chrome 中返回页面时恢复表单值