javascript - 使用 Google 跟踪代码管理器创建自定义 cookie 的最佳方法是什么?
问题描述
我第一次尝试在谷歌标签管理器中设置个性化 cookie。在网上搜索,我发现了不同的 Javascript 函数,我想知道我应该使用哪一个,因为我不是开发人员,我真的不知道“好代码”是什么样子的 :)
第一个函数如下:
<script>
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; domain=insérernomdedomaineici";
}
createCookie("lead_magnet_getresponse_devis","devis",60);
</script>
第二个是这个:
<script>
var cookieName = "visitorFromAdwords"; // Name of your cookie
var cookieValue = "true"; // Value of your cookie
var expirationTime = 2592000; // One month in seconds
expirationTime = expirationTime * 1000; // Converts expirationtime to milliseconds
var date = new Date();
var dateTimeNow = date.getTime();
date.setTime(dateTimeNow + expirationTime); // Sets expiration time (Time now + one month)
var date = date.toUTCString(); // Converts milliseconds to UTC time string
document.cookie = cookieName+"="+cookieValue+"; expires="+date+"; path=/; domain=." + location.hostname.replace(/^www\./i, ""); // Sets cookie for all subdomains
</script>
解决方案
现在最好的方法是创建一个自定义模板并使用setCookie API。这不仅提供了“官方认可”的功能来创建 cookie,它还运行 Google 所谓的“沙盒 Javascript”,它将自定义 javascript 函数的潜在安全问题扼杀在萌芽状态(这使得使用自定义模板有时会很痛苦)背面,但是能够为您的 setCookie 标签创建 GUI 所增加的安全性和便利性应该是值得的)。
推荐阅读
- java - 调试器 Intelij 在构建中引发异常
- javascript - CSS打字效果不跨越多行
- scope - 获取 AccessToken 以获取对受保护 API 的访问权限时,何时在资源前面加上“api://”
- android - 我的一个活动作为对话框的按钮没有出现
- angular - 使用 angular-oauth2-oidc 从身份验证中排除某些组件
- clang - 使用clang编译器的CMake asio无法找到库pthread
- node.js - 如何在 node.js 中使用 mailcatcher 发送电子邮件?使用节点邮件程序
- r - 在 R 中:跨变量删除多个条件
- c++ - 在主存储器中的循环内分配局部变量
- c# - 求和一个多维数组的反向对角元素