我們有一個測試用例來測試帶有不同瀏覽器和操作系統的indexeddb。 這只是簡單的測試:IndexedDB with iOS 8/Safari
open database, add some data, retrieve some data
就是這樣。它可以在Chrome(39),Firefox(新版本),帶有OSX 9.5的MacBook Pro,基於Android的瀏覽器中完美工作。
當我們嘗試使用iOS 8的Ipad3時,頁面沒有任何操作。我們也看不到任何錯誤。
任何想法,如何解決這個問題?
我們使用了indexeddb.shim.js文件,該文件假設有幫助,但仍然無效。
if (!window.indexedDB) {
window.alert("Your browser doesn't support a stable version of IndexedDB.")
}
var request = indexedDB.open("kitta db1");
request.onupgradeneeded = function() {
//create Store and etc
};
request.onsuccess = function() {
db = request.result;
};
的錯誤的iOS 8:
類型錯誤:空是不上線的對象:
var request = indexedDB.open("kitta db1");
任何想法,我該如何解決?
兩個都返回IDBFactory,我猜他們不是null,iOS支持這兩個。我聽說過這個錯誤,但有沒有解決方法,或API來解決它? – amol01 2014-12-05 08:03:06
如果它們不是null,那麼你可能不需要使用墊片。你周圍的代碼有其他問題,導致indexedDB變量不被定義。也許需要indexedDB.open的版本參數。也許使用窗口正在做出意想不到的事嘗試使用沒有空格的數據庫名稱。 – Josh 2014-12-05 14:40:49
我只是試了一切:版本號,嘗試數據庫名稱的所有組合,仍然是相同的錯誤。與其他設備和瀏覽器完美兼容,但不支持Safari 8.1的iOS 8.1。它適用於MacBook Pro上的Safari,雖然對我來說有點奇怪。 – amol01 2014-12-05 15:09:39