Хранить историю пользователя на одном сайте

0

Я знаю, что в этой теме мало сообщений

Однако я хотел бы поднять тему несколько иначе:

Как узнать, что пользователь возвращается с определенной страницы, например /product_pages/3

Я использую основу для части, где я хотел бы отслеживать историю пользователей, которая строится поверх приложения RoR. Причина, по которой я хотел бы знать, возвращается ли пользователь с определенной страницы, заключается в том, чтобы сохранить базовую форму, заполненную введенными пользователем значениями, но если пользователь приходит с других страниц, скажите /provider_pages/14, тогда я бы хотел для очистки значений формы.

Решения:

История HTML5 не сохраняется в разных браузерах (даже между FF и Chrome), и, как оказалось, это не лучшее решение для этой проблемы; История базовой линии не делает этого трюка, поскольку он отслеживает только приложение Backbone, когда пользователь выходит из базового приложения, Backbone.history теряет состояние; Запрос RoR также не является решением, предполагая, что большинство пользователей нажмут кнопку "Назад", чтобы вернуться к результатам формы/поиска, а кнопка "назад" не вызывает новый запрос :)

Поэтому я немного озадачен решением этой проблемы.

Вот фрагменты кода:

Форма:

<ul id="formfields">
    <li>
        <label>Driver type
        <select id="driver-type" name="driver-type" class="ddl jqrequired">
            options...
        </select></label>
    </li>
    <li>
        <label>Postcode
        <input type="text" name="postcode" id="postcode_with_suburbs" style="width:207px" class="jqrequired postcode-with-suburb"></label>
    </li>
    <li id="date_insurance_required_section">
        <label>Date insurance required
        <input type="text" name="date_insurence_required" id="date_insurance_required" style="width:207px" class="jqrequired"></label>
        <span style="display:none;" id="renewalDate"></span>
    </li>
    <li id="car-insurers-section">
        <label>Your current car insurer (if applicable)
        <input type="text" id="car-insurers" style="width:220px" class="ddl clearfix" class="jqrequired" placeholder="Please enter current insurer">
        </label>
    </li>
    etc etc etc.....

Установка значений на магистральной стороне с помощью запроса выборки: and я assume here is the place where я need to keep track of users that are coming back

$("#car-insurers").val(results.Insurer);
$("#renewal_date").val(results.RenewalDate);
$("#date_insurence_required").val(results.InsuranceRequired);
$("#renewal-type").val(results.RenewalType);
$("#renewal-amount").val(results.RenewalAmount);
$("#driver-type").select2("val", results.DriverType);
$("#postcode_with_suburbs").val(results.Postcode);
$("#email").val(results.EmailAddress);
if (results.EmailSend == "on") {
    $('#email-consent').prop('checked', true);
}
Теги:
backbone.js

1 ответ

1

некоторый намек,

  • записать последнюю path-> метку времени для cookie для каждого доступа с вашего сервера.

  • записывать историю доступа в localStorage (большинство современных браузеров поддерживают эту функцию)

  • 0
    Мне понравилась идея о LocalStorage

Ещё вопросы

Сообщество Overcoder
Наверх
Меню