Quiero guardar localmente un objeto que tenga referencias circulares. ¿Cuáles son mis opciones?Cómo guardar un objeto con referencias circulares?
Lo primero que pensé fue en el uso del almacenamiento local en HTML5, pero no puedo escribir este objeto debido a las referencias circulares.
Específicamente estoy intentando guardar el objeto DOMSelection de la selección actual.
Ejemplo:
var sel = window.getSelection();
var selstring = JSON.stringify(sel); // Breaks here ...
localStorage.setItem("selection",selstring);
La única manera de que pudiera obtener el stringify a trabajar ahora está haciendo caso omiso de ciertos objetos de esta manera:
var selstring = JSON.stringify(sel,function(k,v){
if(k=="anchorNode" ||
k=="baseNode" ||
k=="extentNode" ||
k=="focusNode") return undefined;
return v;
});
Pero esto me deja con un objeto DOMSelection lugar vacío, lo cual no es suficiente para lo que necesito
¿Hay alguna otra forma en que pueda guardar este objeto? El único requisito es que se ejecute en un safari móvil, cualquier otra cosa va realmente. La solución puede ser javascript o jquery (o cualquier otra js lib si es necesario).
Gracias por cualquier ayuda que pueda proporcionar.
Ver http://stackoverflow.com/questions/4001474/json-standard-way-of-referencing-an-object-by-identity-for-eg-circular-refere –