是否可以在Meta刷新之前运行JavaScript代码

时间:2013-06-20 05:21:23

标签: javascript html google-analytics

我们一直在使用这个可靠的网站重定向HTML / JavaScript代码

<!DOCTYPE HTML>
<html lang="en-US">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="refresh" content="1;url=https://www.nosuchwebsite.com">
        <script type="text/javascript">
            window.location.href = "https://www.nosuchwebsite.com"
        </script>
        <title>Page Redirection</title>
    </head>
    <body>
        <!-- Note: don't tell people to `click` the link, just tell them that it is a link. -->
        If you are not redirected automatically, follow the <a href='https://www.nosuchwebsite.com'>nosuchwebsite</a>
    </body>
</html>

现在,我们希望在重定向之前执行Google Analytics跟踪代码。

<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-xxxxxxxx-x']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

</script>

我意识到,元“刷新”可能比JavaScript跟踪代码更早执行。我想知道,是否有办法让Google Analytics跟踪代码在元“刷新”之前运行

2 个答案:

答案 0 :(得分:0)

只需增加元刷新命令的秒数,它将在重定向到新页面之前等待很长时间。这将允许您的JavaScript同时执行。

<meta http-equiv="refresh" content="1;url=https://www.nosuchwebsite.com">
                                    ^

可以

<meta http-equiv="refresh" content="3;url=https://www.nosuchwebsite.com">

答案 1 :(得分:0)

或者不使用元刷新并使用Javascript刷新并在<noscript>块中进行元刷新以获得良好的衡量标准,因为当Javascript被禁用时,Google Analytics将无法正常工作。