Navigatorオブジェクトのシリアル化中にRangeErrorが発生しました。JSON.stringify(ナビゲータ)中に最大呼び出しスタックサイズを超えました
何故その理由が考えられますか?
JSON.stringify(navigator);
RangeError: Maximum call stack size exceeded
ブラウザ:クローム
Navigatorオブジェクトのシリアル化中にRangeErrorが発生しました。JSON.stringify(ナビゲータ)中に最大呼び出しスタックサイズを超えました
何故その理由が考えられますか?
JSON.stringify(navigator);
RangeError: Maximum call stack size exceeded
ブラウザ:クローム
エラーメッセージが言うように、navigator
オブジェクトが大きすぎる、ためです。
あなたはこのようdystroy's modified JSON functionを使用することができます。
var navJSON = JSON.pruned(navigator);
返されたオブジェクトはかなり巨大であるが、それは、それは完全に正しくないことはほぼ確実です。 navigator
オブジェクトに関するデータをJSONを使用して転送する場合は、ははオブジェクト全体ではなく、それらのプロパティのみを送信する必要があります。
興味のある特定の値を新しいオブジェクトにコピーしてから、それを代わりにシリアル化するのはなぜですか?
おそらく、無限ループを引き起こすプロパティを見つけるでしょう。
'navigator'オブジェクトはブラウザ間で標準的ではなく、すべての情報が利用可能であることを期待しています。 –
ナビゲートオブジェクトにセルフリンクが含まれている可能性があります。他のオブジェクトにナビゲータをコピーし、大きなリンクを削除する必要があります。
さらに詳しい情報 – Raekye
ナビゲータオブジェクトの内容を表示する必要があります。 – StilesCrisis
基本的に、ナビゲータオブジェクトが大きすぎます。 –