2

script タグを介してロードされる JSONP データ (27 MB) を含むかなり大きな JavaScript ファイルがあります。これは、ファイルのロードを拒否する Firefox を除くすべてのブラウザーで機能します (そこにはスイッチがありませんが、「switch ステートメントが大きすぎます」というエラーが表示されます)。ただし、より小さいファイル (2MB) では機能します。

Firefox での JavaScript ファイルの最大ファイルサイズは? ファイルを分割してこの境界を回避できますか?

4

4 に答える 4

3

このエラーは、覚えていない Web サイトからの大きな JavaScript ファイルのストリーミングを強制終了した後で、一度だけ見たことがあります。

ファイル全体を一度にロードしなければならない理由はありますか? たとえば、次のようなもので囲まれた 2MB の部分でストリーミングできます。

(function() {
    myJsonData += "..... 2MB of your code ...";
})();

myJsonData:追跡するには、グローバル コンテキストで定義する必要があります。

この後、いくつかの終了ステートメントとコールバックのみが必要です。つまり、最後のデータを次のように送信します。

(function() {
    myJsonData += "..... 2MB of your code ...";
    // Trigger callback which works with the json data
    myCallbackFunction();
})();

それが私がこのエラーを解決しようとする方法です。

于 2012-05-16T11:16:42.083 に答える
0

または、制限を回避して読み込みを遅くするには: データを圧縮するだけです (サーバー上で 1 回)。クライアントのブラウザはファイルを読み取り、解凍します。

どちらも約 70 行のコードで機能します。

http://rosettacode.org/wiki/LZW_compression#JavaScript

于 2014-02-04T21:46:17.423 に答える
0

enter code here最大は20MBだと思います

(function() {
    myJsonData += "..... 2MB of your code ...";
    // Tr`enter code here`igger callback which works with the json data
    myCallbackFunction();
})();
于 2012-05-18T08:41:06.697 に答える