出于某种原因,以下内容会在 IE 中导致重定向循环,但在 Chrome 或 Firefox 中不会。
<?php
if (isset($_POST['a']) OR strlen($_POST['a'])>0)
{
die($_POST['a']);
}
?>
<html>
<head>
<script type="text/javascript" src="fpjs2.js"></script>
</head>
<body>
<form name="fbif" id="fbif" action="checkcookie.php" method="POST">
<input type="hidden" name="a" value="" />
</form>
<script>
var ec = new MyObject();
ec.get("fbuid", function(value) {
document.fbif.a.value=value;
document.fbif.submit();
});
</script>
</body>
</html>
该脚本称为 checkcookie.php,它会检查 cookie 的存在(这不是问题,不要继续讨论或尝试建议我如何最好地执行此操作),然后将其发布回同一个脚本。顶部的 PHP 应该检测是否已发布某些内容,如果是,则仅显示发布变量并退出(不要加载脚本的其余部分)。
在 Chrome 和 Firefox 上,这可以完美运行。在 IE 上它会无休止地重定向。所以似乎 IE 没有发布变量,而只是一遍又一遍地重新加载自己。