Spe*_*fer 5 javascript cookies js-cookie
我正在构建一个使用 js-cookie 的网络应用程序。我使用以下命令将 js-cookie 库导入到我的 html/javascript 文件中:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jscookie/2.1.4/js.cookie.js"></script>
Run Code Online (Sandbox Code Playgroud)
我的 js-cookie 代码与 Android 设备完美配合:正如预期的那样创建和检索 Cookie。但是,在 iOS 设备 (iPhone) 上执行时,相同的代码无法写入/读取 cookie。浏览器并不重要;我已经使用 iOS 版最新版本的 Safari、Chrome 和 Firefox 进行了测试。
当我尝试在 iOS 设备上读取 cookie 时,写入后的 cookie 会显示为未定义。这是我用来编写 cookie 的代码片段:
//Set expiration cookie...
nowDate = new Date();
expiresDate = new Date(nowDate.getTime() + (120 * 120000));
//cookie expires in 4 hours
Cookies.set('expires', expiresDate, { expires: expiresDate });
Run Code Online (Sandbox Code Playgroud)
任何后续读取这些 cookie 的尝试都可以在 Android 设备上完美运行,但不能在 iOS 设备上运行。下面是我用来读取 cookie 的示例代码:
expiresCookie = Cookies.get('expires'); //get expiresCookie
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
您在 iO 上使用的浏览器没有影响,因为它始终是 Safari 引擎。在 iO 上,chrome、firefox 等只是 safari webview 的框架。这是专业提示。
现在,在你的问题中。您可以访问经典的 cookie API 吗?你可以使用这个来做到这一点:
document.cookie
Run Code Online (Sandbox Code Playgroud)
如果不是,那么你就有一个很大的问题。也许您已经迁移到 iOS 11 并被纳入 no-more-cookie 政策中: http://adage.com/article/digitalnext/ios-11-kill-cookie/311444/ 或者您可能已启用广告-阻止/不跟踪功能。
| 归档时间: |
|
| 查看次数: |
1489 次 |
| 最近记录: |