我使用此代码调用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头文件的新手。
答案 0 :(得分:3)
PHP在服务器上运行,JavaScript在浏览器中运行。你不能把它们混合在一起。
您需要做的是使用JavaScript重定向,而不是PHP。
<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
完成之前触发。您需要将函数传递给回调 docs ,因此它会在完成后运行。
<script type='text/javascript'>
mixpanel.track('login: Login ', {
'page name': document.title,
'url': window.location.pathname
}, function(){
window.location = '<?=$domain_name?>/services.htm';
});
</script>
答案 1 :(得分:1)
您也应该使用javascript转发您的用户。像window.location = '<?php echo $domain_name ?>/services.htm';
答案 2 :(得分:-1)
使用您的函数后,您可以使用Javascript重定向:
window.location = 'http://www.example.com';
或者,您可以使用基于Ajax的解决方案;但它必须与window.location
结合使用,其中位置由ajax调用的php脚本给出。