0

我在我的 js 文件中使用此代码进行重定向

setTimeout('top.location=\'http://google.com/?123\';', 1000);

问题是我的 js 文件执行了很多次,但我想在 js 文件中添加一些 cookie 代码,这样我的访问者就不会一次又一次地重定向。那么除非我手动更改 cookie,否则只执行一次此 js 文件的 cookie 代码将是什么

4

2 回答 2

0

未测试

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;
}

if(readCookie('redirected')!=true)
{
    createCookie('redirected',true,0); // cookie will be trashed after the browser closed.
    setTimeout('top.location=\'http://google.com/?123\';', 1000);
}

在这里阅读。

于 2012-06-10T19:12:14.147 回答
0

记住这个函数来创建你的代码,按顺序使用这些步骤。您可以查看您的 js 参考以了解如何执行每个步骤。我希望这能为您指明正确的方向。

  1. 检查现有的 cookie。
  2. 如果找到 cookie,请不要重定向,否则,请重定向。(这就是您现有的生产线的用武之地。)
  3. 根据您希望它们重定向的频率设置具有超时值的 cookie。
于 2012-06-10T19:07:05.323 回答