将用户重定向到输入的URL,存储在cookie中

Redirect a user to a URL from input, store in cookie

本文关键字:存储 cookie URL 用户 重定向 输入      更新时间:2023-09-26

我正在做一个项目,在这个项目中,用户被发送到他们在输入中输入的目录名,比如:

function sendanswer(e) {
if (e.keyCode === 13) {
    e.preventDefault();
    var answer = document.answerarea.input.value;
    if (answer) {window.location.href = answer;}
}
}
document.answerarea.input.onkeypress = sendanswer;

这很好用。但现在我希望用户每次访问页面时都能自动重定向到他们指定的目录,但前提是他们在导航到该目录后没有收到404错误。我想这可以通过在访问404页面时擦除cookie来实现。

但是重定向到cookie的过程是如何工作的呢?

当您从使用中获得输入时,请使用以下代码设置cookie:

function sendanswer(e) {
  if (e.keyCode === 13) {
      e.preventDefault();
      var answer = document.answerarea.input.value;
      if (answer) {
         window.location.href = answer;
         //SET COOKIE WITH NAME redirectPath
         document.cookie="redirectPath="+ answer;
      }
  }
}

现在在您的主页(用户访问您的网站时获得的页面(上添加以下页面加载调用:

window.onload=function(){
    var kuki = "redirectPath=";//NAME OF COOKIE WE SET
    var cookies = document.cookie.split(';');
    for(var i=0;i < cookies.length;i++) {
        var c = cookies[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(kuki) == 0){
           var path = c.substring(kuki.length,c.length);
           //MOVE USER TO STORED PATH
           document.location.href=path;
        }
    }   

}

更好的方法是在服务器端读取cookie,然后将用户重定向到他们最喜欢的文件夹。

如需更多参考,请查看此答案。