新手求助:如何用Cookie实现回访Landing Page用户的URL重定向?
核心逻辑
第一次打开LP时,给浏览器设置一个标记Cookie;第二次打开时,检查到这个Cookie存在就立即跳转到目标URL。全程用前端JavaScript实现,新手也能快速上手。
完整代码示例
直接把这段代码放到你的LP页面的<head>标签里(越早执行越好,避免用户看到原页面内容):
// 检查是否存在标记已访问的Cookie function checkVisitedCookie() { // 读取所有Cookie,拆分后查找目标Cookie const cookies = document.cookie.split(';').map(cookie => cookie.trim()); return cookies.some(cookie => cookie.startsWith('visitedLP=')); } // 设置标记Cookie(有效期30天,可自行调整) function setVisitedCookie() { const expires = new Date(); expires.setTime(expires.getTime() + 30 * 24 * 60 * 60 * 1000); // 30天后过期 // 设置Cookie,path=/确保整个域名下都能读取到 document.cookie = `visitedLP=true; expires=${expires.toUTCString()}; path=/; SameSite=Lax`; } // 页面加载时执行逻辑 window.addEventListener('load', function() { if (checkVisitedCookie()) { // 存在Cookie,跳转到目标URL,替换成你的地址 window.location.replace('https://你的目标URL.com'); // 如果你希望用户能通过返回按钮回到LP,就用下面这行替换上面的replace: // window.location.href = 'https://你的目标URL.com'; } else { // 首次访问,设置Cookie setVisitedCookie(); } });
代码说明
checkVisitedCookie():遍历浏览器的Cookie列表,判断是否存在名为visitedLP的标记setVisitedCookie():设置一个有效期30天的Cookie,path=/保证在整个网站域名下都有效,SameSite=Lax是现代浏览器的安全要求- 页面加载时先检查Cookie,存在就跳转,不存在就设置Cookie
注意事项
- 如果用户浏览器禁用了Cookie,这个方案会失效,不过绝大多数普通用户不会开启这个设置
- 用户手动清除浏览器Cookie后,再次打开LP会被当作首次访问
replace跳转不会在浏览器历史记录里留下原LP的记录,用户点返回会回到之前的页面;href跳转则会保留原LP的历史记录,用户可以返回
内容的提问来源于stack exchange,提问作者John
相关产品推荐
相关产品推荐

