Я знаю, что в этой теме мало сообщений
Однако я хотел бы поднять тему несколько иначе:
Как узнать, что пользователь возвращается с определенной страницы, например /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);
}
некоторый намек,
записать последнюю path-> метку времени для cookie для каждого доступа с вашего сервера.
записывать историю доступа в localStorage (большинство современных браузеров поддерживают эту функцию)