Safari - 第三方cookie

时间:2016-08-03 14:17:22

标签: javascript safari local-storage

Safari(8+)默认情况下不允许从第三方读取和存储数据。 Cookie的设置是:"允许我访问的网站"。

我读了一些为此问题编写解决方案的用户..

此问题的解释见:

http://measurablewins.gregjxn.com/2014_02_01_archive.html

这是我使用的功能:

window.onload=function(){
   if(navigator.userAgent.indexOf('Safari')!=-1 && 
      navigator.userAgent.indexOf('Chrome')==-1){
        var cookies=document.cookie;
        if(top.location!=document.location){
           if(!cookies){
               href=document.location.href;
               href=(href.indexOf('?')==-1)?href+'?':href+'&';
               top.location.href = href+'reref='+encodeURIComponent(document.referrer);
           }
        } else {
               ts=new Date().getTime();document.cookie='ts='+ts;
               rerefidx=document.location.href.indexOf('reref=');
               if(rerefidx!=-1){
                    href=decodeURIComponent(document.location.href.substr(rerefidx+6));
                    window.location.replace(href);
               }
        }
   }
}

调用该函数并按预期运行。

如果其他域是X,其中包含来自我的域Y的iframe,

当我访问X时,我在" Storage"中看不到我的域名。 Safari上的标签(虽然有重定向到我的域名并返回给参考者)。

所以我没有成功获取在我的域名中找到的cookie(来自域Y)。

不会重定向并重新启用此第三方吗? (我的域名)。

0 个答案:

没有答案