HTML5 localstorage에서 값을 가져 오는 중에 문제가 있습니다. JSON.stringify를 사용하여 키에 값을 설정할 때 콜백이 제거됩니다. 이 문제가 발생합니다. 다음은 코드 스 니펫입니다.배열을 문자열로 변환하는 동안 JSON.stringify 문제가 발생했습니다.
var topics = {};
var subscribe = function (topic, fn)
{
if (!topics[topic])
{
topics[topic] = [];}
topics[topic].push({ callback: fn,context: this });
window.localStorage.setItem('myArray', JSON.stringify(topics[topic]));
return this;
};
var publish = function (topic) {
var args;args = Array.prototype.slice.call(arguments, 1);
var myArray = JSON.parse(window.localStorage.getItem('myArray'));
for (var i = 0, l = myArray.length; i < l; i++) {var subscription = myArray[i];
subscription.callback.apply(subscription.context, args);
}
return this;
}};
도움이 될 것입니다.
건배 Sajesh 남비 아르
자바 스크립트 함수는 대응 [JSON의 값]이없는 호프가 (http://tools.ietf.org/html/rfc4627#section-2.1). – Gumbo