Показать сообщение отдельно
  #23 (permalink)  
Старый 01.07.2012, 13:55
Интересующийся
Отправить личное сообщение для Философ Посмотреть профиль Найти все сообщения от Философ
 
Регистрация: 21.08.2010
Сообщений: 20

Попробовал..но теперь посты вообще не выводятся. Да и хранилище почему то опустело. Код изменил вот так:
// JavaScript Document
$(document).ready(function(){
		var post, postIds, prefix = "post_id_", postsIds_key = "post_ids";

		postIds = $.map(data, function (post) {
		    var stringified = JSON.stringify(post);
		    localStorage.setItem(prefix + post.id, stringified);
		    return post.id;
		});

		postIds = JSON.stringify(postIds); // в принципе, можно было и join'ом

		localStorage.setItem(postsIds_key, postIds);
		var postIds, posts;
		//prefix определён выше.
		//postsIds_key тоже определён выше.

		postIds = localStorage.getItem(postsIds_key);

		if (postIds) {
		    postIds = JSON.parse(postIds);
		    posts = $.map(postIds, function (postId) {
		        post = localStorage.getItem(prefix + postId);
		        post = JSON.parse(post);
		        return post;
		    });
		} else { 
			$.getJSON(
				'json/posts.json',
				function(data){
					$.each(data, function(postIndex, post) {
            			localStorage.setItem('post_id'+post['id'], JSON.stringify(post));
           				posts += localStorage['post_id'+post['id']];
        			})

			});	
		}
			//Выводим посты
			$.each(posts, function(entryIndex, entry) {
					post = '<article><header><h3>';
					post += entry['title']+'</h3></header><section><p>';
					post += entry['body']+'</p></section><footer>';
					if(entry['tags']){
						post += '<div id="tags">';
						$.each(entry['tags'], function(tagIndex, tag){
							post += '<span class="label">' + tag + '</span>'
						});
						post += '</div><div class="controls"><a class="btn btn-danger btn-mini">удалить</a></div>';
					}
					post += '</footer></article>';
					$('#posts').append(post);
       		 });		
});

Последний раз редактировалось Философ, 01.07.2012 в 14:01.
Ответить с цитированием