Нужно ли мне помещать _gaq.push ([‘_trackEvent’ ….. внутри тегов в моем PHP-коде?

#php #javascript #asynchronous #google-analytics #event-tracking

#php #javascript #асинхронный #google-analytics #отслеживание событий

Вопрос:

Я хочу отправить отслеживание некоторых событий в свою учетную запись google analytics из моих PHP-скриптов. Я включаю внешний PHP-файл, содержащий код google analytics, в мой скрипт заголовка, который включен во все PHP-файлы моего сайта —

header.php :

 <?php
include_once("analytics_script.php");
...
?>
  

index.php :

 <?php
include("header.php");
//When i want to track an event from this script -
_gaq.push(['_trackEvent', 'Category', 'Action', 'Label']);
?>
  

analytics_script.php :

 <script type="text/javascript">
   var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-********-**']);
  _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>
  

Итак, в index.php будет ли просто с помощью _gaq.push отслеживать события нормально или мне нужно обернуть строку в теги javascript, такие как —

 <script>_gaq.push(... </script>
  

Спасибо

Ответ №1:

Если только включенный header.php файлы заканчиваются, пока все еще есть тег open script (против чего я бы серьезно не рекомендовал), тогда да, вам нужно будет обернуть это в <script> теги. В противном случае это просто отображалось бы в виде текста на экране пользователя.

Редактировать: Корактор прав. Я совершенно упустил из виду, что вы не закрываете свой PHP-тег.

Комментарии:

1. Это не будет отображаться в браузере, это вызовет синтаксическую ошибку PHP, потому что PHP не может обрабатывать код JavaScript.