Я хочу сохранить локальный объект, который имеет круговые ссылки. Каковы мои варианты?
Моя первая мысль использовала локальное хранилище HTML5, но я не могу застраивать этот объект из-за круговых ссылок.
В частности, я пытаюсь сохранить объект DOMSELIONECTE о текущем выделении.
Пример:
var sel = window.getSelection();
var selstring = JSON.stringify(sel); // Breaks here ...
localStorage.setItem("selection",selstring);
Единственный способ, которым я мог бы получить strontify работать сейчас, это игнорируя определенные объекты, такие как так:
var selstring = JSON.stringify(sel,function(k,v){
if( k=="anchorNode" ||
k=="baseNode" ||
k=="extentNode" ||
k=="focusNode") return undefined;
return v;
});
, но это оставляет меня довольно пустым объектом Domselection, которое недостаточно для того, что мне нужно.
Есть ли другой способ сохранить этот объект? Единственное требование заключается в том, что он работает в мобильном Safari, все остальное идет действительно. Раствор может быть либо в JavaScript или jQuery (или любые другие JS lib, если это нужно быть).
Спасибо за любую помощь, которую вы можете предоставить.