0

通常、ライトボックス スタイルの iframe で表示される login.php ページがあります。ユーザーが名前と電子メールを入力すると、フォームが 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 に答える