2

Ionic Framework を使用して Cordova アプリを構築しています。アプリの永続ストレージのローカル データベースとしてangular-localForageを使用しています。

開発中、Windows 10 で Google Chrome 45.0.2454.85 m を使用してアプリをテストしています。angular-localForage はバージョン 1.2.3 で、localForage はバージョン 1.2.4 です。

データの設定と取得は問題なくできます。私が使用しているデータを設定するには:

$localForage.setItem(myKey, myData).then(myCallbackFunction);

docsによると、 localForage は、利用可能な場合は IndexedDB を使用し、利用できないブラウザーの場合は WebSQL にフォールバックする必要があります。Chrome 開発者ツールのリソースを見ると、データが WebSQL に保存されていることがわかります。

このコードをコントローラーに入れると、IndexedDB が利用可能であるというメッセージが表示されます。

if (!window.indexedDB) {
    window.alert("Your browser doesn't support a stable version of IndexedDB. Such and such feature will not be available.");
} else {
    window.alert("IndexedDB available.");
}

私の質問は、IndexedDB を利用できるのに、なぜ Chrome で WebSQL を使用しているのですか?

4

2 に答える 2

0

私の推測では、websql は indexeddb API よりも長く存在し、chrome は indexeddb よりも前に websql をプッシュしていたため、最初の選択肢として採用されたようです。chrome は引き続き websql をサポートしているため、indexeddb の前に websql を使用します。

于 2015-09-10T08:37:42.200 に答える