2012-12-31 96 views
2

我正在創建一個簡單的應用程序,用戶將下載到他/她的計算機上,然後用瀏覽器打開硬盤。我需要它能夠使用任何標準瀏覽器來存儲數據。 (雖然數據不必在瀏覽器之間訪問)。HTML5 localStorage離線網站

this link所述,如果使用HTML5的本地存儲,則如果網站的url類似file:///C:/Web/mylocaltodo.html,則Internet Explorer將引發錯誤。它表示可以通過使用'localhost'來獲得它,但是它提供的示例應用程序並不是如何完成的。

沒有用戶在本地主機上安裝Web服務器,是否可以在本地保存離線站點的數據?並且可以在任何現代瀏覽器上運行,包括Internet Explorer?

感謝

+0

意味着應用程序在移動應用程序中的出現,還是您正在談論一個fullworth桌面應用程序。如果它是兩者中的第一個,我不明白爲什麼你需要創建與IE8的兼容性? –

+0

這將是一個獨立的應用程序,它通常會運行在用戶的臺式電腦上,我不會支持它在手機上使用 – Jodes

回答

4

雖然問題仍然是舊的,我創建應該多個窗口之間同步應用程序時面臨類似的問題。

因此,我只想與其他開發人員分享我的經驗,這可能會避免長時間搜索問題。

事實上,由於same origin policy(爲通過XMLHttpRequest訪問本地文件),訪問被拒絕讀取localStorage,這樣的變化不會得到窗口之間的同步。

簡而言之:如果您使用file:///作爲URL,它將無法同步localStorage。使用簡單的網絡服務器和http://localhost/作爲URL,它會。

奇怪的行爲,可悲的是,在JavaScript控制檯中沒有錯誤消息。在離線嘗試一些localStorage實驗時,請牢記這一點,並且不要瘋狂地在您的代碼中搜索問題;-)

+0

感謝您的支持。我試圖使用[Storage Events](http://html5demos.com/storage-events)在兩個單獨的窗口之間同步數據,但它只是不能在我的桌面上使用某些測試文件。 – Jimbo