Постоянный контент при посещении другой страницы в jQuery (постоянное переключение)
-
28-09-2019 - |
Вопрос
Когда я изменяю содержимое сайта с помощью переключателя или какой-либо другой функции, состояние не сохраняется.Итак, если это моя страница:
<div id='test'></div>
<input type='submit' value='test'>
<a href='http://www.stackoverflow.com'>link to elsewhere</a>
и это есть в моем готовом коде:
$(':submit').click( function() {
$('#test').text( 'this is a test' );
});
когда я нажму кнопку отправки, div будет заполнен надписью "это тест".Когда я перейду по ссылке на stackoverflow и нажму "назад", DIV снова будет пустым.Как я могу сделать DIV постоянным при переходе на другую страницу, подобно тому, как <input>
элементы являются постоянными (т.е.если я введу текст в <input type='text'/>
и перейдите по ссылке, этот текст все еще будет там, когда я нажму "назад")
В конце концов, я хочу сохранить состояние переключателя...или я должен использовать файлы cookie для решения этой проблемы, что означает, что я должен написать свою собственную функцию переключения, что не является большой проблемой, но я бы предпочел не использовать файлы cookie...люди все еще параноики
Решение
Да, вы можете использовать файлы cookie, хэш URL-адреса или указать состояние в виде строки в поле "window.name".Конечно, независимо от того, где вы храните свое состояние, вам нужно извлечь его при загрузке и сбросить состояние туда, где оно было.
Одна приятная вещь в window.name если вы можете поместить туда целые страницы HTML, затем перезагрузите их обратно в DOM, включая предыдущее состояние.Конечно, другие страницы могут перезаписываться "window.name" поэтому вам нужен план Б, когда это произойдет.
"Хэш URL" довольно полезен и может быть использован и с AJAX.
Подробнее: http://code.google.com/web/ajaxcrawling/docs/specification.html