0

このコードを使用してjavascript関数を呼び出し、PHPページをリダイレクトしています。

<script type='text/javascript'>

mixpanel.track('login: Login ', {'page name' : document.title, 'url' : window.location.pathname});
</script>;  

<?php
        header("Location:".$domain_name."/services.htm");

?>

しかし、このコードは機能していません。リダイレクトしない場合、js関数は正常に機能します。

私も試しob_start();ましob_end_flush(); たが、何も機能しませんでした。リダイレクトする前にJS関数を使用するにはどうすればよいですか。JavaScriptとPHPのヘッダー関数は初めてです。

4

3 に答える 3

3

PHPはサーバー上で実行され、JavaScriptはブラウザー上で実行されます。そのように混ぜるだけではいけません。

あなたがする必要があるのは、PHPではなくJavaScriptでリダイレクトを行うことです。

<script type='text/javascript'>
    mixpanel.track('login: Login ', {'page name' : document.title, 'url' : window.location.pathname});
    window.location = '<?=$domain_name?>/services.htm';
</script>

更新mixpanel.track:リダイレクトが完了する前にトリガーされます。関数をコールバックドキュメントに渡す必要があるため、完了すると実行されます。

<script type='text/javascript'>
    mixpanel.track('login: Login ', {
        'page name': document.title,
        'url': window.location.pathname
    }, function(){
        window.location = '<?=$domain_name?>/services.htm';
    });
</script>
于 2012-08-29T14:39:07.280 に答える
1

javascriptも使用してユーザーを転送する必要があります。何かのようなものwindow.location = '<?php echo $domain_name ?>/services.htm';

于 2012-08-29T14:38:36.153 に答える
-1

関数を使用した後、Javascript自体を使用してリダイレクトできます。

window.location = 'http://www.example.com';

または、 Ajaxベースのソリューションを使用することもできます。ただし、と組み合わせる必要がwindow.locationあります。ここで、場所はajaxによって呼び出されるphpスクリプトによって指定されます。

于 2012-08-29T14:37:51.867 に答える