Почему значок из Brazen Careerist вызывает ошибку SCRIPT1014 в Internet Explorer?
Я добавил эту ссылку на свой профиль на Brazeen Careerist на своей веб-странице (www.ctrlaltm.com). Всякий раз, когда я загружаю эту страницу в любой версии IE, я получаю следующую ошибку:
SCRIPT1014: недопустимый символ widget_tracking.1.js, строка 6, символ 39
Код для значка был получен от Brazen Careerist (http://www.brazencareerist.com/help/badges/icon) и является следующим:
<a id="sicon-bclink" name="My Brazen Careerist Social Resume" href="http://www.brazencareerist.com/profile/maggiet?utm_source=22088&utm_medium=single&utm_campaign=icon"><img border="0" alt="My Brazen Careerist Social Resume" src="http://static.brazencareerist.com/v6/ui_widget/icons/icon_bc.png"/></a>
<script type="text/javascript">var bctrk_cat = "icon";var bctrk_act = "SingleView";var bctrk_uid = "22088";</script>
<script src="http://static.brazencareerist.com/v6/ui_widget/widget_tracking.1.js" type="text/javascript"></script>
Я проверил отладчик в инструментах разработчика IE9, но когда я проверил, где произошла ошибка, все, что было сказано, это проблема в строке 6, символ 39, который указывал на левую кавычку. Это не имело никакого смысла для меня. Единственная потенциальная проблема, о которой я мог подумать, была, когда я изменил &
к & a m p; (пробелы добавлены только здесь, чтобы показать символьную сущность) в исходной ссылке для проверки в HTML 4.01 Строго говоря, это как-то испортило JS, но я не уверен, почему это произойдет.
2 ответа
Это не проблема Internet Explorer и не является эксклюзивной для Internet Explorer. Открытие той же страницы в Chrome показывает следующее в нашей консоли:
Uncaught SyntaxError: Неожиданный токен ILLEGAL ... widget_tracking.1.js:6
То же сообщение вы получаете и в консоли IE. Когда мы смотрим на этот раздел, мы обнаруживаем, что перед двойными кавычками у вас есть косая черта, что неправильно.
var bcPageTracker = _gat._getTracker(\"UA-3762378-1\");
Изменить на:
var bcPageTracker = _gat._getTracker("UA-3762378-1");
Конечно, как только вы исправите это, вы увидите следующую ошибку: SCRIPT5009: '_gat' is undefined
, Это потому, что вы попытались объединить два тега скрипта в один файл.js. Я советую вам снова загрузить свой код отслеживания, вставить его в нижний колонтитул вашего сайта и больше не вмешиваться.
Вот как вы должны использовать этот код:
<!-- Google Analytics Code -->
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-3762378-1");
pageTracker._initData();
pageTracker._trackPageview();
</script>
<!-- End Google Analytics Code -->
</body>
Это строка 6, если вы посмотрите очень усердно, вы увидите недопустимый символvar bcPageTracker = _gat._getTracker(\"UA-3762378-1\");