4

https://developer.mozilla.org/en-US/docs/IndexedDB/Using_IndexedDBで「Using IndexedDB」サンプル コードを実行しようとしています。

門を出てすぐに、コードの最初の行に出くわしました。 window.indexedDB = window.indexedDB || window.webkitIndexedDB || window.mozIndexedDB;

Firebug を使用するとwindow.indexedDB、FF 15 で期待どおりに未定義であることがわかりwindow.mozIndexedDBます。null の場合、存在するが有効な値がない/初期化されていないことがわかります。

これは、OSX 10.6.8 および Ubuntu 12.04 上の Firefox 15.0.1 で発生します。を表示/使用できない理由を誰か教えてもらえますwindow.mozIndexedDBか? 私は何か間違ったことをしていますか?

完全を期すために、ここに私の JavaScript ファイルを示します。

window.indexedDB = window.indexedDB || window.webkitIndexedDB || window.mozIndexedDB;

var request = window.indexedDB.open("MyTestDatabase", 3);
var db;

request.onerror = function (event) {
    alert("Oops, request.onerror");
};

request.onsuccess = function (event) {
    // Do something with request.result!
    alert("Made it to request.onsuccess");

    db = request.result;
};

// This event is only implemented in recent browsers
request.onupgradeneeded = function (event) {
    alert("Made it to request.onupgradeneeded");
};

db.onerror = function (event) {
    alert("Database error (db.onerror): " + event.target.errorCode);
};
4

1 に答える 1

0

私のオリジナルの HTML5 アプリケーションは、jQuery Mobile と REST WS を使用しています。開発中は、ファイル システムから直接実行すると問題なく動作します。同僚と共有するために、Apache httpd の背後で実行しています。

IndexedDB を追加している間、ブラウザ経由でファイル システムからファイルを表示してテストしようとしていました。うまくいかなかったので、振り出しに戻って Mozilla のサンプル コードを実行してみました。

ローカルホストであっても、IndexedDB にはドメインが必要なようです。コードを public_html の下に配置し、httpd/localhost を介して表示しただけで、完全に機能しています。

于 2012-10-08T12:15:08.950 に答える