2014-07-02 72 views
2

我正在研究一個啤酒網站,並試圖在網站加載使用jQuery Cookie時將其轉到年齡驗證頁面。jQuery Cookie年齡驗證?

年齡頁面有一個簡單的是,接受cookie並沒有帶你遠離現場,我的代碼是:

if(!$.cookie('legal-age')){ 
    window.location = '/age-verify/'; 
} 

// Button 
$("a#v-yes").click(function() { 
    $.cookie('legal-age','yes', {expires: 7, path: '/'}); 
    window.location = '/'; 
    return false; 
}); 

我遇到的問題是當網站加載它去所請求的頁面,但不斷刷新。

任何想法如何使它進入該頁面,並保持不刷新?

謝謝,

TJ。

+0

它應該工作真的嗎?很難看到沒有一個例子。你有沒有我們可以幫助調試的演示? –

+0

謝謝你,但沒有能夠「擺弄」javascript很難正確調試,我強烈懷疑這是因爲你在「age-verify」頁面上運行相同的腳本,並且cookie(它還沒有在'age-verify'的着陸點處設置)未能如果並將其發送到永恆循環中。你有沒有嘗試過我的建議? –

回答

1

我懷疑你錯誤地在你重定向到的頁面上包含了相同的代碼。

請確保您不包括

if(!$.cookie('legal-age')){ 
    window.location = '/age-verify/'; 
} 

age-verify頁面,只是將按鈕的事件處理程序。

+0

感謝你們,我爲網站使用了相同的標題,因此在該頁面上加載了該腳本,導致它刷新。 –

+0

我的快樂兄弟! –

+0

這是一種針嗎?來自格拉斯哥和巨魔其他人的答案!? http://stackoverflow.com/questions/16460835/basic-form-validation-check-number –

2

更改window.location將重新加載頁面。

試圖改變window.location.hash代替window.location

+0

似乎無法正常工作,只是將URL修改爲/#/ age-verify /並且不會重定向到/ age-verify /頁面來打開主頁。 –

1

通過以上@Filip Bartuzi您的評論來看,

試着改變你的第一if本或變體,這取決於你的路等

if(typeof($.cookie('legal-age')) === 'undefined' && window.location.pathname != '/age-verify'){ 
    window.location = '/age-verify/'; 
}