4

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

4

4 回答 4

12

不要清除整个 s 对象,它包含许多正在侦听 dom 事件的函数,如果清除这些,您将失去很多功能。我猜您只是想清除您在页面上填充的所有自定义变量(道具、evas、事件、产品等)。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]]=''; 
  }
}

请注意我没有测试过代码。只是从臀部射了它。

于 2011-10-19T18:54:56.223 回答
4

对 Vector Frogs(惊人)代码的小修正。

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

很棒的脚本 V_FRog!

于 2012-11-16T23:39:10.410 回答
0

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

s=s_gi(s_account);
于 2014-11-07T16:14:30.353 回答
-2

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

查看这篇文章:如何快速清除 Javascript 对象?

s = {};
于 2011-10-07T21:00:02.870 回答