0

我有一个 login.php 页面,通常在灯箱式 iframe 中查看。用户输入姓名和电子邮件,表单在 iframe 中提交给自身(login.php),如果登录成功,则我使用以下命令将它们重定向到所需页面:

echo "
    <script>
        parent.changeURL('{$returnlink}' );
    </script>
";              
exit;

在父页面的<head>部分是使这个重定向工作的函数:

<script>
    function changeURL( url ) {
        document.location = url;
    }
</script>

但是,如果 login.php 页面是在父窗口本身中加载的,而不是在它旨在加载的灯箱样式 iframe 中(不是预期的,但可能发生),那么这个重定向功能会中断,因为在这种情况下没有父级,实际上它应该更改自己的 URL,而不是父级的。

是否有更持久的 php 或 javascript 重定向代码?或者如果它不在 iframe 中,可以将其更改为自我纠正?

4

3 回答 3

0

尝试

if(parent)parent.window.location=url;
else window.location=url;
于 2013-03-05T06:25:58.960 回答
0
<script>
  if(parent)
    parent.changeUrl('{$returnlink}');
</script>
于 2013-03-05T06:26:06.217 回答
0

使用@Tapas Pal、@Sumit Bijvanai 和@yourdeveloperfriend 的建议,我现在可行的解决方案是:

<script>
    if(parent) {
        parent.window.location='{$returnlink}';
    }
    else {
        window.location='{$returnlink}';
    }       
</script>
于 2013-03-05T06:39:38.847 回答