вівторок, 19 лютого 2013 р.

Оказывается, подключать внешний JS файл можно и неправильно:
Неправильно: <script src="js/common.js" type="text/javascript"/>
Правильно<script src="js/common.js" type="text/javascript"></script>

Дальше детали.
Есть код:
<head>
...
    <script src="js/common.js" type="text/javascript"/>

<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'XXXX']);
  _gaq.push(['_trackPageview']);

В этом случае аналитика не работает. Код из common.js работает. ФФ бросает ошибку, если попытаться зарегать гуг аналитикс гоал:
Error: ReferenceError: _gaq is not defined
Алерт перед создание _gaq тоже не алертит.

Если смотреть HTML сорс, хром и фф не подсвечивают тег <script должным образом (см скриншот)!
Решение проблемы закрыть тег скрипт снаружи прописав явно </script>.

Кто может объяснить, а почему?

2 коментарі:

KARPOLAN сказав...

Какой доктайп у документа? Но вообще, да лучше с закрывающим тегом, тогда контекст будет общий

Dmitry Klymenko сказав...

Написано вот так:

!DOCTYPE html
html xmlns="http://www.w3.org/1999/xhtml"

>лучше с закрывающим тегом
а почему? Я полагал браузеры уже достаточно всеядны!