Google Analytics создает неработающие ссылки для IE8 - PullRequest
1 голос
/ 20 сентября 2010

Мы успешно работаем над сайтом Django в течение нескольких лет.Мы используем следующий (стандартный) код Google Analytics для большинства наших страниц.

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

В Django настройки таковы, что мы получаем электронное письмо каждый раз, когда появляется неработающая ссылка.В последнее время один из наших пользователей генерировал много неработающих ссылок, связанных с Google Analytics.Сообщения об ошибках выглядят примерно так (где apage - любой URL):

Referrer: http://ourwebsite.com/apage/
Requested URL: /apage/.google-analytics.com/ga.js
User agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322) IP address: 127.0.0.1

На основании сообщения об ошибке я подозреваю, что проблема связана с IE8 и некоторыми настройками или режимами безопасности.Я попытался запустить версию IE8 Utilu IE Collection для воспроизведения проблемы, но безуспешно.

Любая помощь будет оценена.

1 Ответ

0 голосов
/ 20 сентября 2010

Я бы догадался об ошибке / причуде предшествования операторов, поскольку похоже, что

('https:' == document.location.protocol ? 'https://ssl' : 'http://www')

(в строке 8 вашего фрагмента) может быть проанализировано как

('https:' == (document.location.protocol ? 'https://ssl' : 'http://www'))

, чтооценивается как 'https:' == 'https://ssl' и false,

, тогда как правильное намерение выглядит как

(('https:' == document.location.protocol) ? 'https://ssl' : 'http://www')

Что происходит, когда вы ставите приоритет в скобках (см. предыдущую строку)?1014 *

...