我有一個Javascript/jQuery的web應用程序,其與PHP/MySQL的/ Zend Framework的1.12後端通信。 Web應用程序在iFrame內運行(在iframe模式下使用jQuery fancybox加載)。
應用程序在後端創建一個對象並保存當前的會話ID。然後,當用戶與應用程序交互時,它會在前端顯示對象的屬性,並通過ajax調用修改後端對象。會話ID用於檢查ajax請求是否來自同一用戶(用戶未登錄,因此它是唯一的檢查方式)。
我使用jQuery來執行ajax調用,並使用Zend_Session在PHP/Zend中使用會話。
問題:現在
,問題是,在Safari 6中,這些Ajax請求有不同的會話ID,以便它們不匹配存儲在後端模型對象的會話ID和訪問被拒絕。
這在iframe中運行時,沒有任何其他的瀏覽器,而不是在Safari瀏覽器的其他版本(5以下)
有沒有人有一個想法是什麼原因,以及如何對付它只是發生?
一些更多的信息:在iframe
整個應用程序運行時,從該會話ID存儲在後端模式以及呼叫。所以我認爲所有這些電話都有相同的會話ID。另一件事:一旦我在單獨的選項卡中運行應用程序,然後再次在iframe中,問題就會消失:從那時起,直到我終止瀏覽器會話,我每次都會獲得相同的會話ID,正如我所期望的那樣。坦率地說,這聽起來像是一個錯誤。
我在6年的Safari擴展中也遇到了這個問題。還沒有設法繞過它。 – Alfo 2013-02-28 17:49:34
似乎是Safari中的一個錯誤,我認爲,如果是這種情況,可能不太可能解決這個問題...... – Asciiom 2013-02-28 17:57:55