这个javascript代码有效吗?效率高吗?正在尝试创建javascript用户ID和会话ID。不确定是否有用于此的有效代码
我正在尝试为我的网站创建我自己的分析脚本,为此我尝试了一种创建userID和sessionID的方法 但我不确定我是否做对了 我正试图:这个javascript代码有效吗?效率高吗?正在尝试创建javascript用户ID和会话ID。不确定是否有用于此的有效代码,javascript,session,analytics,userid,Javascript,Session,Analytics,Userid,我正在尝试为我的网站创建我自己的分析脚本,为此我尝试了一种创建userID和sessionID的方法 但我不确定我是否做对了 我正试图: 检查用户是否设置了用户ID-如果未设置 检查用户是否有sessionID-它没有设置它 userID设置为跟随用户,用户在多次访问中继续持有userID,其中sessionID对于每次访问都是唯一的 if(getCookie('yb\u uid')!=null){ if(getCookie('yb_sid')!=null){ setCookie('ybu
- 检查用户是否设置了用户ID-如果未设置
- 检查用户是否有sessionID-它没有设置它
- userID设置为跟随用户,用户在多次访问中继续持有userID,其中sessionID对于每次访问都是唯一的
if(getCookie('yb\u uid')!=null){
if(getCookie('yb_sid')!=null){
setCookie('ybuid',getCookie('ybuid'),730);
setSessionCookie(getCookie('yb_-sid'));
}否则{
setCookie('ybuid',getCookie('ybuid'),730);
setSessionCookie(setSID());
}
}否则{
setCookie('yb_-uid',setUID(),730);
setSessionCookie(setSID());
}
如果(getCookie('yb_-sid')==null | | | getCookie('yb_-sid')=='undefined'| | |!getCookie('yb_-sid'))
{
setSessionCookie(setSID());
}
函数setUID()
{
返回“ybID#”+_setID(5)+“-”+_setID(5)+“-”+Date.now();
}
函数setSessionCookie(值)
{
var now=新日期();
var minutes=30;now.setTime(now.getTime()+(minutes*60*1000));
document.cookie=“yb_sid=“+value+”;max age=“+now.toutString()+”;expires=“+now.toutString()+”;path=/”;
}/set会话cookie/
函数getCookie(名称)
{
var re=new RegExp(name+“=([^;]+)”);
var值=re.exec(document.cookie);
返回值(值!=null)?unescape(值[1]):null;
}/*获取cookie值/
函数_setID(长度){
var结果=“”;
变量字符='ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
var charactersLength=characters.length;
对于(var i=0;i
结果+=characters.charAt(Math.floor(Math.random()*charactersLength)); } 返回结果; } 函数setSID(){ var ts=Math.round(+new Date()+Math.random()/1000); 返回ts; } 函数setCookie(名称、值、天数){ 如果(天){ 变量日期=新日期(); date.setTime(date.getTime()+days246060*1000); var expires=“;max age=“+date.togmString()+”expires=“+date.togmString(); }否则{ var=”; } document.cookie=name+“=”+value+expires+“path=/”; }
也许这有一种更简单的方法来编写脚本?您是否尝试过UUID来生成用户id?这是什么?从未听说过用于生成UUID的包。比如``const uuidv1=require('uuid/v1');uuidv1();//⇨ '2c5ea4c0-4067-11e9-8bad-9b1deb4d3b7d``我希望避免使用第三方解决方案,因为这会影响文件加载时间和执行。当然,由您决定。我只是推荐了如何创建一个独特的id的方法。我不打算为它做任何广告。但它值得一看。请参阅下载和相关内容,更具说服力。我看了你的代码
setUID
,setID
和\u setID
,我觉得不错。但我没有读其他代码。从你的陈述来看,它应该是有效的。