为每个第n个用户调用javascript函数

为每个第n个用户调用javascript函数,javascript,sample-data,Javascript,Sample Data,我正在我的网站上收集一些样本数据,现在我只想使用javascript函数从10%的访问者那里收集数据 我能想到的一种方法是随机选择一个介于1到10之间的数字,如果是10,则调用JS函数来收集数据,否则什么都不做 此外,数据集不需要完全来自10%的用户,但一个大概的数字也可以 我正在寻找一种替代或更好的方法来实现这一点的建议。您可以保留一个服务器端计数器(例如在数据库中),在它交付页面之前进行检查-如果计数器可以被10整除,那么它在模板中包含Javascript,否则,Javascript将被忽略

我正在我的网站上收集一些样本数据,现在我只想使用javascript函数从10%的访问者那里收集数据

我能想到的一种方法是随机选择一个介于1到10之间的数字,如果是10,则调用JS函数来收集数据,否则什么都不做

此外,数据集不需要完全来自10%的用户,但一个大概的数字也可以


我正在寻找一种替代或更好的方法来实现这一点的建议。

您可以保留一个服务器端计数器(例如在数据库中),在它交付页面之前进行检查-如果计数器可以被10整除,那么它在模板中包含Javascript,否则,Javascript将被忽略


当然,这是一个非常通用的答案-实现起来有多容易完全取决于您对服务器端脚本和站点框架的了解。

我会这样做。也不完全满足10%的要求。但是,如果您需要更精确的结果,那么在服务器端这样做肯定会更好

if(Math.random() * 100 >90){
   // greater than 90, so theoretically should only happen 1 out of 10 times do your stuff.  
}else{
    // Do nothing
}

如果它只是客户端的,那么我认为没有比“随机10%”更好的方法了。它似乎也满足了“不完全是10%”的要求;-)去做吧。呃,事实上,随着时间的推移,这将是10%的访问量,如果只是使用
随机
——而不是“每10次”。cookie可用于将其限制为访客。当然,如果您要使用此方法,您需要确保向用户提供cookie或会话数据,以防止同一用户获得两次功能,并防止同一用户重复访问时计数器上升。此方法将确保每十位访客都能获得该功能。