由于新的GDPR法律,当用户继续在我们的网站上浏览时,这意味着他同意cookie,我们需要对其进行记录。
因此,我需要能够在用户离开页面之前,跟随链接或验证表单之前执行某些操作。我该怎么办?
我尝试使用window.onbeforeunload,但这会触发警报,询问用户是否真的要离开该网站。在离开页面之前,我必须做两个动作:
启动要设置跟踪器的触发器
window.onbeforeunload = function (e) {
// Record the cookie
// Launch a trigger to add the trackers
return true;
};
如果有人可以帮助我,也许我是在做错事
答案 0 :(得分:0)
另一个问题,因为我使用一个事件来创建跟踪器,是否存在在重新加载页面之前不执行跟踪器的eventListener的风险?
window.onbeforeunload = function (e) {
document.dispatchEvent(new Event('tracker.launch'));
};
我的事件监听器
document.addEventListener('tracker.launch', function() {
<!-- Google Analytics -->
(function(i,s,o,g,r,a,m){ i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
});
答案 1 :(得分:-1)
从文档中:
此事件返回(或将returnValue属性设置为)null或undefined以外的值时,系统将提示用户确认页面卸载。
https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onbeforeunload
因此,您不应在此函数末尾进行=INDEX(C2:E4,MATCH(1,INDEX((A2:A4="mgr1")*(B2:B4="US"),0,1),0),MATCH("Feb",C1:E1,0))
。
答案 2 :(得分:-1)
您始终可以在使用window.onbeforeunload()离开页面之前调用函数。
Grizzly one's
警报原因,询问用户是否由于返回null或unbeunundefined中未定义的值而真的要离开网站,最终要求确认。