2013-02-05 4 views
7

indexedDBで多くのファイルをブロブとして保存するWebアプリケーションを構築しています。ユーザーが最大で私たちのアプリを使用している場合は、indexeddbに最大15GBのファイルを保存することができます。IE10でのindexeddbの保存制限

IE10の問題が発生しました。私はクォータの問題があると強く思っています。

いくつかのファイルを正常に保存した後、store.put(data, key);への新しい呼び出しは決して終了しません。

基本的に、関数は呼び出されますが、成功イベントもエラーイベントも呼び出されません。

IE 10のIndexedDBフォルダを調べると、512KBの一時ファイルのように見えて、無限に作成および削除されるようなものが数多く見られます。

「キャッシュとデータベース」PARAMATERSウィンドウを見て、私は自分のサイトのデータベースが250メガバイト に達していることがわかります。

さらに見ると、このブログエントリhttp://msdnrss.thecoderblogs.com/2012/12/using-html5javascript-in-windows-store-apps-data-access-and-storage-mechanism-ii/が見つかりましたが、これは間違いなくWindowsストアアプリのストレージ制限が250 MBだと言います。

私はWindowsストアメカニズムを使用していませんが、私は同じ任意の制限の犠牲者になる可能性があると考えました。

だから、私の質問は:

  • は、この制限を回避する方法はありますか?ユーザーには10 MBの制限を超える許可が求められますが、250 MBに達したときにユーザーにポップアップすることはありません。

  • IE10に250 MB以上のデータを格納する方法はありますか?

ありがとう、私は手がかりを取るでしょう。

+0

私はこれは古い質問だと思いますが、クォータが満たされたときにIEに解決策が見つかりませんでしたか?私は大量のデータをキャッシュするためにindexedDBを使用しています。制限に達すると、プロセスはただ停止し、エラーまたは成功のコールバックはありません。完全になったときに 'LRU'スタイルのキャッシュを実装することを非常に難しくします。 – ste2425

+0

私の最後のコメントは無視してください。 IEはロックされません。しかし、エラーハンドラではなく 'onabort'ハンドラを起動します。 – ste2425

答えて

5

恐れることはありません。記憶域の制限を設け、さらにスペースを許すようにユーザーに求めているのは、ブラウザのベンダーの責任です。だから、私は最初のオプションが当てはまるとは思わない。

私は、ユーザーがウェブサイトに許容限度(インターネットオプション>一般>閲覧履歴>設定>キャッシュとデータベース)を超えることを許可することができますが、それが250MBを超えるのかどうかはわかりません。これはあなたが超過することのできないハードコーディングされた制限である可能性があります。

この制限は、複数のデータベースを作成することで解決できないという意味のドメインに関連付けられています。唯一の解決策は、複数のドメインに格納することですが、その場合、それらにアクセスすることはできません。また、250MBの制限はindexeddb APIとFile APIの組み合わせになります

+2

私はそのようなものを恐れていました。詳細については、「ウェブサイトのキャッシュまたはデータベースが超過したときに通知する」で250を超える値を設定した場合、その制限に達することができます。ただし、ユーザーがOKをクリックしてサイトがその制限を超えると、同じバグ(無限のバックグラウンドプロセス)が発生します。残念ながら、999 MBを超える上限を設定することはできません(マイクロソフト、なぜあなたはあなたのユーザーよりも賢明だと考え続けるのですか) – Thomas

+1

一方、その量のデータをクライアントに保存する理由は何ですか?たぶんあなたは現在使用しているコンセプトを再設計する必要があります。私はindexeddb APIが250mbのポイントまで面白いと指摘した記事を読んだ。それを超えるとパフォーマンスが低下する... –

+5

従来のデスクトップアプリケーションではなくHTML5アプリケーションを作成している場合、従来のデスクトップアプリケーションがそのデータを保存しているのと同じ理由で、250 MBのデータをIndexedDBに保存することができますハードドライブに接続します。たとえば、趣味として、100MBを超えるIndexedDBデータベースを作成できる純粋なクライアント側のゲームに取り組んでいます(理論的には、ゲームが十分に長くなると無限大になる可能性がありますが、 100 MB以上)、私の非常に非科学的なテストではパフォーマンスの問題はありませんでした。 – dumbmatter

関連する問題