javascript / omniture - 如何清除对象的所有属性(s对象)

时间:2011-10-07 20:50:56

标签: javascript jquery object adobe-analytics

我正在使用omniture并跟踪各种属性到“s”变量进行跟踪。我跟随的示例代码在每个跟踪事件之后调用一个名为s.clearVars()的函数。但我得到一个错误,说clearVars不是一个有效的函数。有谁知道我应该打电话来清除跟踪对象?或者如何从javascript对象中清除所有属性。

4 个答案:

答案 0 :(得分:12)

不要清除整个s对象,它包含许多正在侦听dom事件的函数,如果你清除它们,你将失去很多功能。我猜你只想清除你在页面上填充的所有自定义变量(道具,回忆,事件,产品等)。 s.clearVars函数是Omniture咨询所写的“插件”,它为您清除所有这些值。您可以联系您的Omniture客户经理并询问他代码,他可能会或可能不会给您,具体取决于他是否想要向您出售一些咨询时间,或者他是否知道您在谈论什么,或者您可以这样做你自己做了几个简单的循环:

function ClearVars(){
  for (var i=0; i < 75; i++) {
    s['prop'+i]='';
    s['eVar'+i]='';
    if(i<=5)
      s['hier'+i]='';
   }
   svarArr = ['pageName','channel','products','events','campaign','purchaseID','state','zip','server','linkName'];
  for (var i=0; i < svarArr.length ; i++) {
     s[svarArr[i]]=''; 
  }
}

请注意我没有测试过代码。只是从臀部拍摄。

答案 1 :(得分:4)

矢量青蛙(惊人)代码的小修正。

第二个for循环需要i = 0才能清除pageName变量。

Great Script V_FRog!

答案 2 :(得分:0)

这将根据您的原始请求重置整个对象:

s=s_gi(s_account);

答案 3 :(得分:-2)

我认为如何清除JS对象的属性的最佳答案是只创建一个新对象。

查看此帖子:How to quickly clear a Javascript Object?

s = {};