验证Omniture document.write()是高效且无堆叠的

时间:2015-08-04 20:06:17

标签: report adobe analytics adobe-analytics document.write

我想确定每个新调用都会从DOM中清除/清除document.write() omniture 调用。

标准:

  1. 我希望看到用Adobe Omniture call(s.t() call)写入DOM的内容

  2. 我想确保在添加每个新呼叫之前清除/清空DOM写入

  3. 如何证明DOM值无效/清除。

1 个答案:

答案 0 :(得分:1)

我假设您正在讨论页面代码的这一部分:

/************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/ 
var s_code=s.t();if(s_code)document.write(s_code)//--></script>

Adob​​e Analytics(Omniture)跟踪通过创建图像对象向集合服务器发出请求。当您使用URL设置imageObject.src属性时,现代浏览器会发出请求。使用document.write()的原因是,如果不是简单地将值设置为imageObject.src,则可以适应请求。

基本上,AA代码会检查imageObject.src是否成功加载了返回的图像。如果是这样,s.t()将返回一个空字符串。如果没有,s.t()会返回一个完整的img标记,该标记会从document.write()添加到DOM中。

document.write()后备广告旨在适应旧版浏览器。而“老”我的意思是IE4老了。如果您不关心跟踪旧的浏览器(提示:没有人),您可以将所有“触发”代码切换为单s.t()次呼叫(甚至不需要分配给s_code )。

所以要回答你的问题,除非你在古老的浏览器上,否则实际上没有任何文件写入DOM。但是如果您在古老的浏览器上 ,那么,没有代码可以删除之前添加的内容。这让我想到......

..你真的问什么? IOW,为什么你想找出/确定它已被删除?我怀疑你可能真正要求的是想要确保先前设置的AA变量不会在后续请求中弹出的内容。这是一个公平的问题,但这与请求本身并没有任何关系。但是你需要澄清这一点。