2015-02-05 126 views
0

因此,對於客戶端,我有一個訂閱燈箱在首次加載網站時彈出。Safari 8每次退出時都會清除我的Cookie?

我這樣做是通過設置一個cookie與jquery.cookie.js。像這樣:

if (typeof $.cookie('subscription-has-popped-up') === 'undefined'){ 
    // No cookie, show the subscribe form. 
    $('#subscribe').fadeIn();  
    $.cookie('subscription-has-popped-up', 'true');  
} else { 
    // Has cookie, do nothing. 
} 

我注意到在Safari 8,當我在我的Mac退出了Safari瀏覽器中的錯誤,並重新打開它,燈箱再次彈出。每當我重新啓動應用程序時,Safari都會清理掉我的Cookie?

當我不退出,當然在頁面重新加載我沒有得到訂閱彈出窗口。這似乎是退出Safari和重新開放清除cookie。

對此問題有何洞見?

如果Safari在每次應用程序默認退出時都會清除cookie,那麼解決我的問題的更好方法是什麼,以便用戶始終不會看到彈出窗口?

也許有更好的方法與PHP?

編輯:解BELOW

回答

0

嘗試從如果statement.If錯誤仍然存​​在,則檢查它指出錯誤的瀏覽器,並報告...

1

這是我的問題,去除typeof

$.cookie('subscription-has-popped-up', 'true'); 

需要是:

$.cookie('subscription-has-popped-up', 'true', { expires: 365 }); 

顯然沒有過期屬性,it's only a session cookie,並在會話結束時到期。把它改成了那個,都很好。

相關問題