2013-01-12 16 views
8

के दौरान अधिकतम कॉल स्टैक आकार पार हो गया है मुझे नेविगेटर ऑब्जेक्ट के क्रमबद्धरण के दौरान रेंज एरर मिल रहा है।JSON.stringify (नेविगेटर)

कारण क्या हो सकता है?

JSON.stringify(navigator); 
RangeError: Maximum call stack size exceeded 

ब्राउज़र: क्रोम enter image description here

+0

थोड़ा और जानकारी? – Raekye

+0

आपको नेविगेटर ऑब्जेक्ट के अंदर क्या दिखाना है। – StilesCrisis

+1

असल में, आपका नेविगेटर ऑब्जेक्ट बहुत बड़ा है। –

उत्तर

2

यही कारण है, क्योंकि जैसा कि त्रुटि संदेश दर्शाता है, navigator वस्तु बहुत बड़ा है है।

आप dystroy's modified JSON function इस तरह उपयोग कर सकते हैं:

var navJSON = JSON.pruned(navigator); 

वस्तु लौटे बहुत विशाल है, लेकिन यह लगभग निश्चित है कि यह पूरी तरह से सही नहीं है। यदि आप JSON का उपयोग कर navigator ऑब्जेक्ट के बारे में डेटा स्थानांतरित करना चाहते हैं, तो आप केवल उन ऑब्जेक्ट्स को भेजें, संपूर्ण ऑब्जेक्ट नहीं।

1

आप उन विशिष्ट मूल्यों की प्रतिलिपि क्यों नहीं बनाते हैं जिन्हें आप किसी नए ऑब्जेक्ट में रुचि रखते हैं और फिर इसके बजाय क्रमबद्ध करें?

शायद यह ऐसी संपत्ति ढूंढ रहा है जिसके परिणामस्वरूप अंतहीन पाश हो।

+0

मुझे उम्मीद है कि यह 'नेविगेटर' ऑब्जेक्ट ब्राउज़र पर मानक नहीं है, और वह सभी जानकारी उपलब्ध करना चाहता है। –

1

शायद नेविगेटर ऑब्जेक्ट में स्वयं-लिंक होता है। आपको नेविगेटर को अन्य ऑब्जेक्ट में कॉपी करना चाहिए और उन पर बड़े लिंक हटा देना चाहिए।

संबंधित मुद्दे