2013-11-01 81 views
0

我有主文件夾mysite.com/和複製文件夾,如mysite.com/10010/,mysite.com/10011/等。 現在我完成了使用Jquery Cookie插件刪除/設置Cookie,並根據cookies設置重定向。自定義重定向

要刪除/我用下面的代碼設置cookie:

$(function() { 
if ($.cookie('10010')){ window.location.href = 'http://www.mysite.com/10010';} 
else if ($.cookie('10011')) {window.location.href = 'http://mysite.com/10011';} 
}); 

我的問題是:: 例如,如果用戶

var cookies = $.cookie(); 
for(var cookie in cookies) { 
$.removeCookie(cookie); 
} 
$.cookie('10010', '10010', { expires: 30, path: '/' }) 

要我用下面的代碼重定向訪問了特定頁面,例如mysite.com/10010/page1.html,即使下次他在瀏覽器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和重定向?

回答

0

當您嘗試此操作時,您如何檢測您當前所在的頁面?我會使用類似:

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 
+0

感謝我嘗試了,現在works..but即時通訊重定向到http://mysite.com/10010/undefined ..即時通訊混淆的地方,我必須添加臨時定義..新的..所以請你可以詳細說明更多.. – yas

+0

添加這個... alert(temp.join('\ n'))做完分裂後,你知道每個陣列中都有什麼。這是說未定義的,因爲你使用我的例子,temp [4]中沒有值。 - temp也是我命名的變量,你可以隨便命名。 – Zork