特定情况下无法在 IE 上的实时域上设置 Cookie

特定情况下无法在 IE 上的实时域上设置 Cookie

我有一个托管在实时服务器上的项目,其域名如下:www.abc.com

在实时域上:我无法在 IE(7、8、9、10)中设置 cookie - 如下面的代码所示 -(IE 浏览器上启用了 cookie),但可以在 Firefox、Chrome、Opera 和 Safari 中设置 cookie,没有任何问题。服务器时间正确(约旦当前时间)

在本地主机上:Cookie 在所有浏览器上均可完美运行!

我的代码解释如下:

在页面“localhost/test.php”中,我放置了下面的代码来读取实时服务器中 show.php 的内容:

<?php foreach (file('http://abc.com/api/show.php') as $o) echo $o ?>

在页面中http://abc.com/api/show.php

<script>
function hookscript(url){
    var s = document.createElement("script");
    s.type = "text/javascript";
    s.src = url || null;
    document.getElementsByTagName("head")[0].appendChild(s);
}


hookscript('http://abc.com/aj/ajax.php?part=1');
</script> 

在页面中http://abc.com/aj/ajax.php

function hookscript(url){
    var s = document.createElement("script");
    s.type = "text/javascript";
    s.src = url || null;
    document.getElementsByTagName("head")[0].appendChild(s);
}

<?php
$part = $_GET['part'];
?>

<?php
if($part==1){
?>

    <?php setcookie('test',time(),time()+3600) ?>
    hookscript('http://abc.com/aj/ajax.php?part=2');

<?php
}

if($part==2){
    if(isset($_COOKIE['test'])){
?>
        alert('Cookies SET');
    <?php
    }
    else{
    ?>
        alert('Cookies NOT SET'); // WHY!

<?php
    }
}
?>

非常感谢您的提示!谢谢!

答案1

我已经解决了这个问题,很简单。IE 的隐私高级设置中没有启用第三方设置!

相关内容