0

Mac ダッシュボード ウィジェットで HTML 5 のローカル データベース機能を使用しようとしています。私はダッシュコードで次のJavaScriptをプログラミングしています:

if (window.openDatabase)
{
   database = openDatabase("MyDB", "1.0", "Sample DB", 1000);
   if (database) 
   {
        ...database code here...
   }
}

残念ながら、openDatabase-method の呼び出し後、database-variable は常に null のままです。ウィジェットではローカル データベースがサポートされていないと思い始めています...

何か案は?

/pom

4

1 に答える 1

0

いいえ、上記のことはできません。できたとしても、データベースが MySQL または SGLite であると仮定して、データベースを配布せずにウィジェットを配布することはできません。(HTML 5 のローカル Db の意味がわからない。

これを回避する方法はいくつかあります:-

JSON ファイル、XML ファイル、RSS フィードなどのデータ ソースを追加できます。したがって、たとえば JSON でこれを行うには、URL が呼び出されたときに結果が JSON 文字列になるように、PHP またはデータベースにアクセスする何かでサーバーにページを記述します。JSON 文字列を取得して解析し、ウィジェットで使用します。これにより、データを取得できますが、保存はできません。

もう 1 つの方法は、ユーザー設定を使用することです。これにより、個々のウィジェットでデータを保存および取得できます。

そう

var preferenceKey = "key";        // replace with the key for a preference
var preferenceValue = "value";    // replace with a preference to save
// Preference code
widget.setPreferenceForKey(preferenceValue, preferenceKey);

その後、それを取得できます

var preferenceForKey = "key";    // replace with the key for a preference
// Preference code
preferenceForKey = widget.preferenceForKey(preferenceForKey);

外部呼び出しも使用できます。REST を使用すると、任意の量のデータを読み取ることができます。設定により、後で再利用するためにデータを保存して、ログアウトやシャットダウンに耐えることができます。

Apple のサイトには、ウィジェットとチュートリアルに関する多くの情報が掲載されており、それらを試してみる価値があります。

お役に立てれば。

于 2010-01-28T14:11:47.913 に答える