Javascript Cookie未在Safari、ios中设置,但可在ie、ff、chrome中使用
有人提醒我,当使用safari/ios将物品放置在我们的购物车中时,它们不会出现。未设置购物车cookie。它由重定向页面设置。我看到了safari没有设置cookie和重定向的问题,但是如果我取消了重定向,它仍然没有设置。代码如下:Javascript Cookie未在Safari、ios中设置,但可在ie、ff、chrome中使用,javascript,safari,mobile-safari,Javascript,Safari,Mobile Safari,有人提醒我,当使用safari/ios将物品放置在我们的购物车中时,它们不会出现。未设置购物车cookie。它由重定向页面设置。我看到了safari没有设置cookie和重定向的问题,但是如果我取消了重定向,它仍然没有设置。代码如下: window.onload=function(){ SetCookie('RORDERID','OECLICK*17180*39521',10); setTimeout(“redir()”,100);} 函数redir(){window.location='0
window.onload=function(){
SetCookie('RORDERID','OECLICK*17180*39521',10);
setTimeout(“redir()”,100);}
函数redir(){window.location='0http://www.shopthethirdfloor.com/forward-to-ttf-cart.html';}
函数SetCookie(cookieName、cookieValue、nDays){var today=new Date();var expire=new Date();
expire.setTime(今天.getTime()+3600000*24*nDays);
document.cookie=cookieName+“=”+escape(cookieValue)+“expires=“+expire.TogmString();”}
如果您没有被重定向到购物车,
好的,经过更多的挖掘和反复尝试,safari将不会在iframe跨域中设置cookie。我在网上尝试了一些建议,包括这里,但它们要么不相关,要么不起作用(都是旧的)。我发现我有两个选择。首先,将框架域更改为父窗口域的子域,我本可以这样做,但需要更改无数链接和支付网关,我不想这样做。第二,采取了几个步骤,但效果很好,如下所示:
尝试设置cookie的页面将检查它是否是safari浏览器,如果是,则将窗口位置更改为php脚本,该脚本来自与在get变量中传递cookie的浏览器相同的域,这反过来会将窗口位置从iframe服务器更改为asp脚本,向其发送具有cookie设置代码的cookie信息,并在设置cookie后,为购物车加载页面。
这里的关键是获取cookie设置页面,该页面需要将cookie设置到父窗口中,然后加载新的目标页面
这有几个步骤,但效果很好。尝试使用HTML5本地存储概念在safari浏览器中实现cookie存储 默认safari设置将为受信任站点启用cookie,因此您必须启用这些设置才能启用cookie存储。。。为了克服这个问题,您可以使用HTML5本地存储概念