以前のバージョンの Android で実行する Web アプリがありますが、Android 4.0.3 (HTC 1x) で実行すると問題が発生するようです。つまり、openDatabase JavaScript 関数は「未定義」です。この API はサポートされていますか?
2 に答える
この質問に対する答えは、「デバイスに依存する」だと思います。私は、iOS と一部の Android デバイスでは問題なく動作する Web アプリの問題を解決しようとしてきましたが、他のデバイスでは問題なく動作し、一部の 4.0.3、一部の 4.0.4、および一部の 2.3.x (これまでのところ、私たちが試した 2.2.x デバイスは問題なく動作しました)。私はクライアント側の解決策を考え出すために何週間も費やしましたが、何もないかもしれないと思います. 奇妙なことに、データベースのバージョンを操作していなくても、一部のデバイスでは、データベースのバージョンを操作すると状況が多少変わるように見えますが、問題は解決しません。maxSize を変更することもできません。
WebSQL は非推奨であり、デバイス間で引き続きサポートされるかどうかは誰にもわかりません。したがって、最善の戦略は、ある種の抽象化 (Lawnchair など) を使用するか、現時点では localstorage/sessionstorage を使用するか、将来的には indexedDB を使用することだと思います。
はい、もちろんAndroid 2.2で使っているので4.0.xも対応していると思いますが…
Javascript コードを投稿できますか?
var db = openDatabase(shortName, version, displayName, maxSize);