2016-08-23 2 views
2

Я пытаюсь найти лучший способ хранения динамически загруженного html в пределах div для следующего посещения пользователя.localStorage или еще что-нибудь?

Я немного читал о localStorage и, возможно, строгую эту информацию, однако я не очень четко понимаю реализацию.

Однако, с приведенным выше, вот что я делаю в настоящее время и чего бы я хотел достичь.

Я использую такой код:

$(function() { 
    $('.cordpass').click(function() { 
     var collection = $(this).find('span').load(this.href + ' #cords'); 
     $('#summary').append($(collection)); 
     return false; 
    }); 
}); 

Это, по существу, захватывая данные с другой страницы и добавить его в div с идентификатором #summary. Это можно сделать из нескольких объектов на странице (все они находятся на карте). В любом случае, пользователь может сортировать и всевозможные вещи. Это отлично работает для моих нужд. Тем не менее, я хотел бы сохранить HTML в пределах #summary, так что в следующий раз, когда пользователь посещает, HTML есть.

Каков наилучший способ сделать это? Является ли localStorage подходящим для меня, или я полностью не понимаю его использование, и есть ли другой способ хранения HTML для следующего посещения?

+3

Хранение html - вздор. Храните данные в localStorage.Если вы хотите предоставить автономный ресурс, см. «Webapp» и «service worker» –

+2

Не забывайте, что локальное хранилище * local *. Готовы ли вы, чтобы сохраненные данные отличались в зависимости от браузера/машины, которую в настоящее время используют ваши пользователи? –

+0

Да, это должно быть разным для каждого пользователя. Приложение представляет собой карту (которая использует карты googles), однако всплывающее окно имеет кнопку, которая добавляет мой маршрут, который загружает данные со своей конкретной страницы с сайта, на котором находится приложение. Мне бы хотелось, чтобы эта информация присутствовала, когда пользователь уходит и возвращается. Означает ли это немного больше смысла? Я заранее извиняюсь, если не имею смысла. Заранее спасибо. – mmatzen

ответ

0

Я думаю, что если данные для каждого пользователя различны, вы можете хранить данные в базе данных mysql. Если данные поступают с другой страницы, вам нужно будет только сохранить ссылку на другую страницу в базе данных, а не все данные.

Каждый пользователь вашей страницы будет иметь другой идентификатор в базе данных, поэтому они будут видеть только их данные. Предполагая, что у вас есть какая-то процедура входа в систему.

На данный момент информации недостаточно, чтобы дать лучший ответ.

Хорошо, я добавлю к этому. Вы можете, конечно, использовать файлы cookie для хранения информации на стороне клиента. Конечно, файлы cookie ограничены 4k для каждого файла cookie. Звучит не так много, но это 4000 символов текста. Как я уже сказал, вы не хотите использовать куки для большого количества текста, но несколько ссылок и переменных прекрасно хранятся.

Чтобы установить куки сделать это

setcookie($cookiename, $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 day 

Это в течение 30 дней, но это можно сделать срок годности не ограничен, если вы действительно хотите. Повторяя печенье сделать это

echo $_COOKIE['cookiename']; 

Вы также можете хранить массивы в печенье тоже.

$test = array(
0 => array('bill', 'ted'), 
1 => array('alpha', 'romeo'), 
2 => array('Chad', 'Something') 
); 

setcookie('names', $test); 

Однако, если пользователь входит в систему, я все же предлагаю хранить их данные в базе данных mysql.

Возможно, существуют и другие методы. Помните, что cookie работает только в браузере, который их открыл. Поэтому, если вы просматриваете страницу в одном браузере и затем меняете браузеры, cookie не будет там. Или если они посещают с другой машины.

Если у пользователя есть логин, то не имеет значения, какая машина посещает вашу страницу.

+0

Томас, большое спасибо за ваш ответ. Я думал об этом маршруте, однако, эта часть сайта не требует входа в систему, поэтому я думал об использовании локального хранилища или чего-то в этом роде. Это только незавершенная работа, но эта тестовая страница http://marylandwine.com.64-207-179-169.c7gg-ww2l.accessdomain.com/wine-trail/ вы можете щелкнуть по одному из двух мест и Добавить. Я думаю, вы можете понять, почему я хочу сохранить эти данные при повторном просмотре немного больше. Пожалуйста, дайте мне знать, если я могу предоставить больше информации, чтобы помочь вам ответить. Я очень ценю ваш ответ. – mmatzen

+0

Я просмотрел вашу страницу и не смог решить, на что нажать, чтобы увидеть вашу проблему. С положительной стороны страница выглядит хорошо, но с отрицательной стороны вам нужно потратить некоторое время на оптимизацию своих изображений для Интернета. Например, изображение под названием home-bg-edit.jpg составляет 325k. Через несколько секунд я сохранил его в Интернете из фотошопа и получил его до 60 тыс., И он по-прежнему выглядел хорошо. Кстати, вы подумывали об использовании файлов cookie. Они хранятся на компьютере пользователя и могут также хранить массивы. –

+0

Томас - большое спасибо за комплименты. Да - нужно оптимизировать несколько вещей. Photoshop отлично работает, но всегда понравился этот: http://compressor.io. Во всяком случае, если вы нажмете на булавке на карте, нажмите «Добавить», затем нажмите «Отключить» и нажмите «Добавить» и добавьте еще раз. (Инструкции будут очищены, когда остальная страница будет завершена). Эта информация, загружаемая в div, была бы удивительной, если бы она была доступна для следующего посещения. Возможно ли это с куки? Если да, есть ли у вас полезные статьи, которые я должен прочитать? Спасибо огромное! – mmatzen

Смежные вопросы