我有主文件夹 mysite.com/和已复制文件夹,例如 mysite.com/10010/,mysite.com/10011/等。到目前为止,我已经完成了使用 Jquery Cookie 插件删除/设置 cookie 并根据设置的 cookie 重定向。
要删除/设置cookie,我使用以下代码:
var cookies = $.cookie();
for(var cookie in cookies) {
$.removeCookie(cookie);
}
$.cookie('10010', '10010', { expires: 30, path: '/' })
要重定向,我使用以下代码:
$(function() {
if ($.cookie('10010')){ window.location.href = 'http://www.mysite.com/10010';}
else if ($.cookie('10011')) {window.location.href = 'http://mysite.com/10011';}
});
我的问题是:例如,如果用户访问了特定页面,例如 mysite.com/10010/page1.html,even 如果他下次在浏览器中键入 mysite.com/page1.html 他将被重定向到 mywebsite.com/10010/。我需要将用户重定向到 mysite.com/10010/page1.html。我在每个已复制文件夹中有 100 个已复制文件夹和 100 个页面 - 因此很难为每个页面设置单独的 cookie 并重定向。
调整代码的正确方法是什么?请注意,我是编码新手。到目前为止,我已经尝试过:
$(function() {
if ($.cookie('10010')){ window.location.href = 'http://www.mysite.com/10010'+ "/.html";}
else if ($.cookie('10011')) {window.location.href = 'http://mysite.com/10011'+ "/.html";}
});
"+"之后几乎没有不同的变体,但似乎没有一个有效。
有没有更简单的方法可以做到这一点,而不是为每个单独的页面设置 cookie 和重定向?
当你尝试这个时,你如何检测你当前在哪个页面? 我会使用类似的东西:
var temp = window.location.href.split('/');
我注意到的一件事是
window.location.href = 'http://www.mysite.com/10010'+ "/.html";
你正在使用"然后你正在使用",我认为这是不好的做法。 此外,在那里有一个空间可能会搞砸变量设置。 尝试类似操作:
window.location.href = 'http://www.mysite.com/10010'+'/.html';
问题是当你重定向时,它会像 http://www.mysite.com/10010/.html 一样重定向,除非您通过我的 .split 示例检测到您在哪个页面上并执行以下操作:
window.location.href = 'http://www.mysite.com/10010/'+temp[4];
这就是这个想法...
temp[0]=http:
temp[1]=""
temp[2]=www.mysite.com
temp[3]=10010
temp[4]=page1.html