2013-09-30 27 views
0

我正在構建一個需要註冊和登錄的網站。不能在一個頁面上寫入cookie,Safari iOS

註冊完畢後,cookies會寫入瀏覽器以驗證您的會話。在登錄期間,完全相同的cookie會寫入您的瀏覽器。我使用完全相同的函數和技術來編寫註冊和登錄中的cookie。

這裏的問題:

在移動(至少與Safari瀏覽器適用於iOS),餅乾沒有得到在註冊過程中寫的,但它在登錄過程中工作得很好。 (在桌面瀏覽器中,兩者都可以正常工作)。

你應該知道:

移動網站不重定向到一個不同的URL,也不會加載任何不同的JavaScript。它只是使用媒體查詢(CSS)來改變CSS。

這裏是我試過的故障排除:

驗證了我的「set_cookie」功能適用於移動。將我的「塊餅乾」設置爲「從不」。驗證set_cookie函數正在通過每次調用函數時記錄document.cookie來調用(舊/註銷的cookie會記錄到控制檯,但新的不會寫入)。在iPad上測試Safari,就像魅力一樣。

東西,可能是相關的:

未在Safari瀏覽器爲iPhone工作正試圖從站點根目錄,/創建的cookie的一部分,然而,在登錄頁面(如果它不工作的iPhone)在/login.html。兩者是相同的域。另外,我已驗證服務器正在成功創建新用戶並返回成功響應。這些請求正在通過AJAX進行,並且JSON對象返回給javascript。

TL; DR:

餅乾不會從一個特定頁面寫上Safari瀏覽器的iPhone。該操作在其他地方成功運行。同樣的set_cookie功能正在全面使用,並且可以在iPhone上的Safari的其他頁面上正常使用。手機版本是在同一個域名,不會改變JavaScript,只會改變CSS。

有什麼想法?謝謝!

+0

千萬不要信任cookie。有些瀏覽器會禁用它們。使用會話,或添加獲取參數,或其他任何幫助規避這一點。 – CP510

回答

0

發現了這個決議是做一些內部/服務器端重組。目前還不清楚是什麼導致iPhone上的問題,但是,我能夠繞過它。如果有人遇到這個問題,我會很驚訝。