iPad で使用するために、HTML5 Web SQL データベースを作成する必要があります (非推奨であることは認識しています)。iOS 6 では、50 MB のデータベースをすぐに作成できました。しかし、現在 iOS 7 にはバグが導入されています (この記事を参照してください)。) これにより、50 MB のデータベースが作成されなくなります。このバグの回避策は、小さなデータベースを作成し、必要に応じて拡張することだと理解しています。Safari では、ユーザーは 10 MB、25 MB、50 MB で拡張するように求められます。ただし、ユーザーがデータベースのサイズを増やすように求められると、データを挿入する JavaScript コードの実行が停止します。私は何を間違っていますか?(これは iOS 6 および 7 で発生します。) 私が知る限り、エラーはスローされません。ユーザーがデータベースを拡張するように求めた後、挿入を続行するにはどうすればよいですか? 私の Web SQL 挿入コードは次のとおりです (簡潔にするために一部のコードは省略されています)。
db.transaction(function (tx) {
var insertSQL = 'insert into ...';
for (var i = 0; i < len; i++) {
var items = [{}]; // the items to insert
tx.executeSql(insertSQL, items, function (tx, results) {
// When all items are inserted, fire the callback method if there is one
if ((++itemsInserted === itemsToInsert) && $.isFunction(callback)) {
callback();
}
}, function (tx, error) {
if (console && $.isFunction(console.warn)) {
console.warn(error.message);
}
});
}
});
データベースが最初に 50 MB で作成された場合、上記のコードは iOS 6 で正常に動作します。ただし、データベースが最初から小さい場合、このコードは機能しなくなります。お時間をいただきありがとうございます。
ありがとう、
アンディ