循環参照を持つオブジェクトをローカルに保存したい。私のオプションは何ですか?
最初に考えたのは HTML5 ローカル ストレージを使用することでしたが、循環参照のためにこのオブジェクトを文字列化できません。
具体的には、現在の選択の 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 オブジェクトが残り、必要なものには十分ではありません。
このオブジェクトを保存する他の方法はありますか? 唯一の要件は、モバイル サファリで動作することです。それ以外は何でも構いません。解決策は、javascript または jquery (または必要に応じて他の js lib) のいずれかです。
ご協力いただきありがとうございます。