2013-04-05 2 views
2

Мы пытаемся внедрить отслеживание Omniture для нашего сайта, что связано с множеством вызовов AJAX. Поэтому мы отправляем код omniture с ответом на запрос AJAX. Это отлично работает для Chrome и других браузеров. Но у нас проблема с IE. Эта линия,Проблема с кодом Omniture в IE

if (navigator.appVersion.indexOf('MSIE') >= 0) document.write(unescape('%3C') + '!-' + '-') 

вызывает Access denied ошибку в IE. В принципе, я понимаю, что document.write будет прикрепляться к текущему документу тогда и только тогда, когда загружается document. Поскольку наш запрос AJAX, document уже будет в состоянии готовности, и он заставит document.write переписать всю нашу страницу с <!--.

Может кто-нибудь предложить способ решить эту проблему?

Для каких версий IE используется этот код? Мы поддерживаем IE> = 7 и безопасно ли я удалить эту строку?

ответ

4

Эта статья окажется ценной для вас:

Breaking down SiteCatalyst's page-level code

Если вы не заботитесь о данных, поступающих от браузеров старше IE7 или без яваскрипта пользователей, вы можете просто вызвать функцию s.t() самих по себе ,

Тег noscript должен по крайней мере получить некоторые данные для посетителей без javascript, а строка кода, которую вы используете в своем вопросе, используется для того, чтобы IE не отправлял как обычный запрос изображения, так и тег noscript одновременно. По какой-то причине IE выполняет этот тег noscript, даже если javascript включен.

+0

Спасибо. Это было очень полезно. –