我们正在尝试为我们的网站实施Omniture跟踪,这涉及到大量的AJAX调用。所以我们发送带有AJAX请求响应的omniture代码。这适用于Chrome和其他浏览器。但是我们遇到IE问题。这一行,
if (navigator.appVersion.indexOf('MSIE') >= 0) document.write(unescape('%3C') + '!-' + '-')
导致IE中出现Access denied
错误。基本上我对此的理解是document.write
将仅当document
当前正在加载时附加到当前文档。由于我们的是AJAX请求,因此document
已处于就绪状态,这将导致document.write
用<!--
覆盖整个页面。
有人可以提出解决此问题的方法吗?
这个代码实现的IE版本是什么?我们支持IE&gt; = 7,如果我删除这一行是否安全?
答案 0 :(得分:4)
本文对您有价值:
Breaking down SiteCatalyst's page-level code
如果您不关心来自早于IE7或非JavaScript用户的浏览器的数据,您可以单独调用s.t()
函数。
noscript标签至少可以为非JavaScript访问者获取一些数据,并且您在问题中使用的代码行用于阻止IE同时发送常规图像请求和noscript标记。出于某种原因,即使启用了javascript,IE也会执行该noscript标记。