s.getPreviousValue插件不工作(s.getPreviousValue plugin

2019-10-22 06:53发布

第A,我有一个s.tl()上的“链接A”在那里我填的点击通话evar1 ,进而引发的事件1。 这种连接的导致网页B

在页面的链接上单击代码

$(document).on('click','.nav.navbar-nav.subnav-breadcrumb a',function(){
    if($(this).text().toLowerCase().indexOf('create group')!=-1){
        s.events = "event1";
        s.linkTrackEvents = "event1";
        s.eVar1 = "Step 1";
        s.linkTrackVars = "eVar1,events";
        s.tl(true,'o','Step 1');    
    }
});

第B的页面加载,在做插件的部分,我试图让价值eVar在分组设置s.tl()通过下面的代码调用

function s_doPlugins(s) {
    console.log(s.getPreviousValue(s.eVar1,'cookie_name','event1') 
}

但是,我得到的数值为“未定义”。 是否getPreviousValue()插件没有以前的工作s.tl()调用? 我在做什么错在这里?

Answer 1:

如文档中提到的 ,因为你正在使用的第三个参数s.getPreviousValue()它只会储存,如果设置指定的事件触发(在你的情况和文档例子,即event1 )。

既然你要设置event的链接点击, s.getPreviousValue()触发,因为s_doPlugins被呼吁所有st()s.tl()调用,所以在这一点上,你应该看到你的价值cookie_name饼干(看看s_pers饼干,如果你使用的是联合饼干插件)。

然而,接下来的页面上(页B) event1没有设置,所以当s_doPlugins被要求对页的st()调用, s.getPreviousValue()将不会更新/返回以前的值。

换句话说,当你在第三个参数指定的事件,当指定的事件出现在插件触发s.events 。 它基本上第一件事就是检查第三个参数存在,那么经过s.events ,看看它是否在那里。 如果不是,就是这样,没有返回值函数结束(这就是为什么你会得到undefined返回)。

我不知道你实际上试图完成的任务,但在我的经验,不会有太多的使用情况在第三个参数指定的事件。



文章来源: s.getPreviousValue plugin not working