Javascript js cookie库在Android上工作,但不在iOS设备上工作

Javascript js cookie库在Android上工作,但不在iOS设备上工作,javascript,cookies,js-cookie,Javascript,Cookies,Js Cookie,我正在构建一个使用js cookie的web应用程序。我使用以下方法将js cookie库导入我的html/javascript文件: <script src="https://cdnjs.cloudflare.com/ajax/libs/jscookie/2.1.4/js.cookie.js"></script> 任何后续读取这些cookie的尝试都可以在安卓设备上完美运行,但在iOS设备上则不行。下面是我用来读取cookie的示例代码: expire

我正在构建一个使用js cookie的web应用程序。我使用以下方法将js cookie库导入我的html/javascript文件:

    <script src="https://cdnjs.cloudflare.com/ajax/libs/jscookie/2.1.4/js.cookie.js"></script>
任何后续读取这些cookie的尝试都可以在安卓设备上完美运行,但在iOS设备上则不行。下面是我用来读取cookie的示例代码:

    expiresCookie = Cookies.get('expires'); //get expiresCookie

我做错了什么?

您在iOs上使用的浏览器没有影响,因为它始终是Safari引擎。在iOs上,chrome、firefox和其他浏览器只是围绕SafariWebView的框架。这是给专业人士的小费

现在,在你的问题上。你能访问经典的CookieAPI吗?您可以使用以下方法执行此操作:

document.cookie
如果没有,你有一个很大的问题。可能您已经移动到iOS 11并被包括在不再使用cookie策略中:
或者您可能启用了广告块/不跟踪功能。

首先,我想您在链接到脚本时遇到了问题。如果您在android上进行了第一次测试,那么您的设备可能仍将此文件保存在缓存中

尝试使用此url获取最新版本:
https://cdnjs.cloudflare.com/ajax/libs/js-cookie/latest/js.cookie.js


然后,还要检查您的url是否不在文件位置(file:///.../file.html)而不是http()。当没有域和http通信时,浏览器不会保存Cookie。

@SpeedGolfer,你能验证这是否是问题吗?@FagnerBrack:如果我能确认这是问题,我会通知你。目前,我正在探索使用localStorage作为对iOS更友好的替代方案。是的,我确认,它更友好、更可靠。对于欧洲访客来说,localstorage并不关心有关Cookie和privacyDebug mobile safari的法律,这可能会有帮助。我也遇到了同样的问题,其他地方的一段代码与ES6兼容(所以它在所有其他现代浏览器中都正常运行),但是iOS9失败了,我相信它是ES5。该代码是一个具有默认参数的函数,
函数a(a=1,b=2){}
重写解决了iOS9的问题。
document.cookie