#javascript #html
#javascript #HTML
Вопрос:
Допустим, у меня есть страница, которая ссылается на .js
файл. В этом файле у меня есть следующий код, который устанавливает значение переменной:
var foo;
function bar()
{
foo = //some value &enerated by some type of user input
}
bar();
Теперь я хотел бы иметь возможность перейти на другую страницу, которая ссылается на тот же скрипт, и сохранить для этой переменной значение, установленное bar()
. Каков наилучший способ передачи значения этой переменной, предполагая, что скрипт будет запущен заново, как только я перейду на следующую страницу?
Ответ №1:
Вы можете использовать файлы cookie.
Файлы cookie изначально были изобретены Netscape для предоставления «памяти» веб-серверам и браузерам. Протокол HTTP, который организует передачу веб-страниц в ваш браузер и запросы браузером страниц на серверы, не зависит от состояния, что означает, что как только сервер отправил страницу браузеру, запрашивающему ее, он ничего об этом не помнит. Таким образом, если вы заходите на одну и ту же веб-страницу во второй, третий, сотый или миллионный раз, сервер снова считает, что вы зашли на нее в самый первый раз.
Это может раздражать несколькими способами. Сервер не может вспомнить, идентифицировали ли вы себя, когда хотите получить доступ к защищенным страницам, он не может запомнить ваши пользовательские настройки, он ничего не может запомнить. Как только была изобретена персонализация, это стало серьезной проблемой.
Файлы cookie были изобретены для решения этой проблемы. Существуют другие способы решения этой проблемы, но файлы cookie просты в обслуживании и очень универсальны.
Ответ №2:
Вы можете передать значение в строке запроса.
Когда пользователь переходит на другую страницу, добавьте значение в строку запроса и загрузите его в следующую.
Ответ №3:
Другим вариантом является jStora&e. jStora&e, вероятно, лучше использовать для кэширования данных и пользовательских настроек с потерями (например, сохраненного имени пользователя в форме входа), поскольку он не имеет полной поддержки браузера (но IE6 и большинство других распространенных браузеров поддерживают его) и на него нельзя положиться (например, на файлы cookie).
Ответ №4:
Вы можете использовать библиотеку cookie YUI http://developer .yahoo.com/yui/cookie /