gpt4 book ai didi

javascript - 在 onclick 上创建并保存 cookie

转载 作者:行者123 更新时间:2023-12-02 16:40:23 25 4
gpt4 key购买 nike

任何人都可以帮助我设置一个 cookie 功能,该功能可以通过检查用户单击的链接来获取用户输入,然后将其重定向到该链接并为其创建一个 cookie,以便用户下次访问时自动重定向。

谁能告诉我我做错了什么。我想要多个链接,单击每个链接应创建一个 cookie 并重定向用户。

任何人都可以提供一个可用的 jsFiddle 吗?

代码如下,请帮忙:

  //Html
<a href="" onClick="redirectOne('/home')">something site</a>
<a href="" onClick="redirectTwo('/home')">something2 site</a>
// Javascript
function redirectOne(state)
{
createCookie('state', state, 90);
window.location.href = "www.something1.com" + state;
}

function redirectTwo(state)
{
createCookie('state', state, 90);
window.location.href = "www.something2.com" + state;
}

var cookie = readCookie('state');
if (cookie != null)
{
window.location.href = "www.something.com" + cookie;
}

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+"; path=/";
}

function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}

function eraseCookie(name) {
createCookie(name,"",-1);
}

最佳答案

你的问题是,当你在每个函数中调用这一行时

 createCookie('state', state, 90);

它从 onClick 事件中获取“/home”的值并将其传递给 cookie 创建例程。对于这两个函数,您应该传递“/home”以外的其他内容。

  <a href="" onClick="redirectOne("www.something1.com")">something site</a> 
<a href="" onClick="redirectOne("www.something2.com")">something2 site</a>
// Javascript
function redirectOne(state)
{
createCookie('state', state, 90);
window.location.href = state+'/home';
}

您根本不需要redirectTwo 函数。

关于javascript - 在 onclick 上创建并保存 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27562969/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com