【发布时间】:2019-01-23 11:37:02
【问题描述】:
我将首次用户登陆时的 UTM 参数存储到网站中。他/她可以访问网站的任何页面,在注册期间,我将这些参数发送到后端(存储到数据库)。
$(document).ready(function() {
if(window.location.href.match('utm_*')) {
var utmData = {
utm_source: getParameterByName('utm_source'),
utm_medium: getParameterByName('utm_medium'),
utm_campaign: getParameterByName('utm_campaign'),
gclid: getParameterByName('gclid')
}
if(!localStorage.getItem('utmData')) {
localStorage.setItem('utmData', JSON.stringify(utmData));
}else if(localStorage.getItem('utmData')){
localStorage.removeItem('utmData');
localStorage.setItem('utmData', JSON.stringify(utmData));
}
}
});
但问题是当用户没有注册但这些参数仍然存在时。我想在他/她关闭浏览器时删除。
【问题讨论】:
-
如果您不希望项目持久化,为什么不使用 SessionStorage 而不是 localStorage?
-
你能给出同样的答案吗,如何实现@AakashThakur
-
LocalStorage 的真正目的是在页面重新加载时保持数据。如果您不希望这些数据持久化,为什么首先使用 LocalStorage?
-
@JeremyThille 是的,我首先做错了。会话存储是正确的。
标签: javascript jquery session-cookies