मैं स्थानीय रूप से एक वस्तु को सहेजना चाहता हूं जिसमें परिपत्र संदर्भ हैं। मेरे विकल्प क्या हैं?किसी ऑब्जेक्ट को परिपत्र संदर्भों से कैसे सहेजना है?
मेरा पहला विचार एचटीएमएल 5 स्थानीय भंडारण का उपयोग कर रहा था लेकिन परिपत्र संदर्भों के कारण मैं इस वस्तु को स्ट्रिंग नहीं कर सकता।
विशेष रूप से मैं वर्तमान चयन के DOMSelection ऑब्जेक्ट को सहेजने की कोशिश कर रहा हूं।
उदाहरण:
var sel = window.getSelection();
var selstring = JSON.stringify(sel); // Breaks here ...
localStorage.setItem("selection",selstring);
एक ही रास्ता मैं stringify अब काम करने के लिए मिल सकता है तो जैसे कुछ वस्तुओं की अनदेखी कर रहा है:
var selstring = JSON.stringify(sel,function(k,v){
if(k=="anchorNode" ||
k=="baseNode" ||
k=="extentNode" ||
k=="focusNode") return undefined;
return v;
});
लेकिन यह मुझे एक नहीं बल्कि खाली DOMSelection वस्तु के साथ छोड़ देता है जो मुझे जो चाहिए वह पर्याप्त नहीं है।
क्या कोई अन्य तरीका है जिससे मैं इस वस्तु को बचा सकता हूं? एकमात्र आवश्यकता यह है कि यह मोबाइल सफारी में चलता है, और कुछ भी वास्तव में चला जाता है। समाधान या तो जावास्क्रिप्ट या jquery (या आवश्यकता होने पर किसी भी अन्य जेएस lib) में हो सकता है।
आपकी सहायता के लिए धन्यवाद।
देखें http://stackoverflow.com/questions/4001474/json- मानक-way-of-referencing-an-object-by-identity-for-eg-circular-refere –