2011-06-23 20 views
12

pushStateメソッドは状態オブジェクトを受け入れます。 Firefoxのドキュメントによると、このオブジェクトの最大サイズは640kbです。ブラウザが実装できる最小の最大サイズは仕様に定義されていますか?主要なブラウザが私に少なくとも100kbを提供すると合理的に期待できますか?HTML5履歴API - 状態オブジェクトの最大サイズは?

EDIT:Chromeでテストしましたが、1MBを超える状態オブジェクトではまだ動作していました。

+1

Hey @Kyle、あなたは受け入れられたと回答をマークするか、受け入れ可能な回答を得るために必要な追加情報を尋ねる必要があります。 – Maverick

答えて

6

No.ここでの標準的な文書はhttp://www.whatwg.org/specs/web-apps/current-work/multipage/history.html#dom-history-pushstateであり、データサイズの制限についても言及していません。別の制限は、しかし、提案されています

ユーザーエージェントは、ページごとにセッション 履歴に追加 状態オブジェクトの数を制限することがあります。

この例でわかるように、この仕様では一般的にハード制限に言及しておらず、ブラウザメーカーの裁量でそれらを残しています。したがって、将来、データのサイズ制限の可能性を検討するために、ある時点で仕様が改訂されたとしても、あなたに実数を与える可能性は低いです。代わりに、 "一般的な使用例のために十分な大きさ"になります。

8

仕様には制限はありませんが、さまざまなブラウザには独自の制限があります。

Firefoxの内容は十分に文書化されていて、あなたが言ったように、640kB(誰もが必要とするほどのRAM)です。

私はどこにも記載されているクロムまたはInternet Explorerのを見つけることができなかったが、いくつかの簡単なテストは示しています(おそらくさらにと)

少なくとも10メガバイトまでの作業クロム、1メガバイトの制限に達し

IE( IE11では、これは私が便利です)。だから、

、未来の人々のために要約する: history.stateオブジェクトのサイズ制限がある:Firefoxのは、Internet Explorer 11とChromeのための少なくとも10Mbのため1MBため640kB

EDIT:IE:11、Chrome:33、Firefox:MDNの最大サイズを文書化しているので、無関係です:)。

+0

640Kの参照先は "640Kは誰にでも十分でなければなりません。" - Bill Gates、1981 " " Billはどうしたの? "IBM PCが640Kに制限されている間に業界が苦労したことは分かりますか?マシンは一度に512Kになる予定でしたが、私たちはそれを押し上げ続けました。 。 "ゲイツ会談"(2001年8月20日)USニュース&ワールドレポート " –

+0

上記の答えの引用から引用しているように、制限がオブジェクトの数によって影響を受けるかどうかを知ることができますか?"ユーザーエージェントは状態数ページごとのセッション履歴にオブジェクトが追加されました。限界に達したときに、どうなったのか?エラーメッセージ?クラッシュ?私は新しい実験がこれで完了すると思うが、このアカウントのおかげで.... – matanster

+0

Firefoxの制限は640 KBではなく、640 KBです。 640,000文字:「状態オブジェクトのシリアライズされた表現に640 KB文字のサイズ制限を課す」(https://developer.mozilla.org/en-US/docs/Web/API/History_API) – SeanKendle

関連する問題