2012-06-11 138 views
7

對於Chrome,我可以使用IndexedDB和WebSQL,對於Firefox,我可以使用IndexedDB,那麼IE呢?我開發了一個使用WebSQL的應用程序,它在桌面版Chrome和Safari,iOS Safari和Android瀏覽器上運行良好。接下來,我想將它移植到Desktop Firefox和IE。我正在考慮IndexedDB,但發現IE並不真的支持它。我有什麼替代方案?IE是否支持indexedDB,WebSQL或類似於SQLite的數據庫?

+0

您需要支持哪些版本的IE? – Spudley

回答

7

IE10支持IndexedDB。您也可以在IE8 +中使用localStorage。對於較早的版本,您可以使用專有的userData行爲:http://www.javascriptkit.com/javatutors/domstorage2.shtml

請注意,WebSQL數據庫已棄用且不再維護規範。

+0

大多數IE用戶現在都在IE8或IE9上,所以IndexDB沒有幫助。 localStorage不支持SQLite查詢,所以我不得不重寫我的應用程序不要使用本地數據庫? WebSQL被折舊了,但它是目前唯一可以在桌面版Chrome,Safari和移動設備上運行的東西。我會喜歡使用IndexedDB,但我沒有看到任何移動支持計劃。情況並非如此嗎? – netmobile

+0

沒有宣佈計劃,沒有。 Chrome中的IDB由LevelDB提供支持,因此他們可能必須先在Android上獲得該功能,然後才能看到Google向移動WebKit提供該功能。 FF是SQLite支持的,所以這可能很適合Android。誰知道是否會有iOS支持。無論如何,Apple似乎都不會喜歡Apple本身的應用程序模式。 – buley

3

正如杜裏筆記WebSQL已經被稱爲厄運**,但它往往是跨平臺本地存儲的唯一實用技術 - 尤其是在處理移動時。

IE does not support WebSQL,並且由於編寫規範的人無法就實現達成協議,所以您很可能不會很快看到實現。 IE10還不是主流,因此IndexedDB也不是。 (此外,IndexedDB在Chrome(舊版本)和FF(新版本)中有兩種不同的實現方式,這使得它在開發時並不完全穩定。)

localStorage is the only truly cross platform option,移動Opera是唯一的非實現者。根據我的經驗,您不應該指望它在中等或更大尺寸的數據集上表現良好。

**與圍繞劇院的「McBeth」一樣,我會要求您從不在任何IndexedDB實現附近說出這些詞語:「Web SQL數據庫規範不再被維護,並且在將來的版本中可能會丟棄支持。

+0

我傾向於認爲WebSQL將比所有關於被棄用的討論都要長得多,僅僅因爲它可以工作,而且如果您需要移動設備,它也是唯一的實用技術。只是沒有看到任何瀏覽器製造商很快就將其刪除。 – netmobile

+0

完全同意。人們引用厄運的規範,但千萬不要談論經常添加但很少刪除的代碼。 – buley

0

谷歌Chrome團隊一直非常支持IndexedDB,所以我期望Chrome for Android儘快得到它,如果他們還沒有。 Android不需要LevelDB「支持」,它只是另一個類似Chrome使用的其他庫。

相關問題