Javascript Can';不要在一页上写cookies,Safari iOS
我正在建立一个网站,需要注册和登录 注册后,Cookie将写入浏览器以验证会话。在登录期间,将完全相同的cookies写入浏览器。我使用完全相同的功能和技术在注册和登录中编写cookie 问题是: 在移动设备上(至少使用Safari for iOS),Cookie在注册过程中不会写入,但在登录过程中可以正常工作。(在桌面浏览器中,两者都可以正常工作) 你应该知道: 移动站点不会重定向到不同的URL,也不会加载任何不同的javascript。它只是使用一个媒体查询(CSS)来更改CSS 以下是我尝试过的疑难解答: 已验证我的“set_cookie”功能在移动设备上有效。将我的“阻止cookies”设置设置为“从不”。每次调用函数时,通过记录Javascript Can';不要在一页上写cookies,Safari iOS,javascript,iphone,ios,mobile,cookies,Javascript,Iphone,Ios,Mobile,Cookies,我正在建立一个网站,需要注册和登录 注册后,Cookie将写入浏览器以验证会话。在登录期间,将完全相同的cookies写入浏览器。我使用完全相同的功能和技术在注册和登录中编写cookie 问题是: 在移动设备上(至少使用Safari for iOS),Cookie在注册过程中不会写入,但在登录过程中可以正常工作。(在桌面浏览器中,两者都可以正常工作) 你应该知道: 移动站点不会重定向到不同的URL,也不会加载任何不同的javascript。它只是使用一个媒体查询(CSS)来更改CSS 以下是我尝
document.cookie
验证是否正在调用set\u cookie
函数(旧的/注销的cookie会记录到控制台,但新的cookie不会写入)。在Safari for iPad上测试,效果很好
可能相关的事情:
在Safari for iPhone上不起作用的部分是尝试从站点根创建cookie,/
,但是,登录页面(它在iPhone上工作的地方)位于/login.html
。两者都是同一个域。此外,我还验证了服务器是否成功创建了新用户并返回了成功响应。这些请求是通过AJAX发出的,JSON对象返回到javascript
TL;医生:
Cookie不会从Safari for iPhone的某个特定页面写入。这项行动在其他地方都很成功。相同的set_cookie
功能在主板上使用,并在Safari for iPhone的其他页面上正常工作。移动版本在同一个域上,不改变javascript,只改变CSS
有什么想法吗?谢谢 发现解决方法是进行一些内部/服务器端重组。目前还不清楚是什么原因导致了iPhone上的问题,但是,我能够绕过它。如果有人碰到这个问题,我会感到惊讶。永远不要相信饼干。有些浏览器禁用了它们。使用会话、添加的get参数或任何其他方法来帮助避免这种情况。