Я собирался рекомендовать вместо этого использовать localStorage
, что, по-видимому, вы делаете.
Fini sh ваша localStorage
реализация вот так; здесь я добавил вызов myFunction2
для document.body.onload
слушателя и загрузил цвет из localStorage
:
<html>
<head>
<title>Title of the document</title>
</head>
<body onload="myFunction2()">
<!-- <input type="text" id="start" placeholder="start"><br> <input type="text" id="end"><br> <button id ="generate" onclick="run()">Click to Generate</button> -->
<form id="text_change_form" name="text_change_form" method="post">
<label for="text_change">Select Text Colour</label>
<select name="text_change_dd" id="text_change_dd">
<option value="#000000">Black</option>
<option value="#ffffff">White</option>
<option value="#CFBD1F">Yellow</option>
<option value="#B9B537">Celery</option>
<option value="#92A62B">Grass</option>
<option value="#7FA78F">Jade</option>
<option value="#73A8BA">Aqua</option>
<option value="#7694B6">Sky</option>
<option value="#8A759C">Purple</option>
<option value="#BB5988">Magenta</option>
<option value="#CDACA5">Pink</option>
<option value="#CFA34A">Orange</option>
<option value="#C5BAB4">Grey</option>
</select>
<input type="button" name="text_change_confirm" id="text_change_confirm"
value="Set" onclick="myFunction2()" />
</form>
<script>
function myFunction2() {
var e = document.getElementById("text_change_dd");
var strUser = e != null && e.selectedIndex ?
e.options[e.selectedIndex].value :
localStorage["textcolor"];
if(strUser) {
document.body.style.color = strUser;
localStorage["textcolor"] = strUser;
}
// document.getElementById("current_color").innerHTML = strUser;
}
</script>
</body>
</html>
Причина, по которой вы используете localStorage вместо файлов cookie, заключается в том, что localStorage должен быть вручную очищен пользователем или перезаписан веб-страницей, в то время как файлы cookie могут устареть или быть удалены сервером и поэтому немного менее долговечны. Файлы cookie также передаются между сервером и клиентом туда и обратно, поэтому, если данные нужны только для клиента, используйте localStorage или sessionStorage.
Как правило, если какой-то элемент состояния связан с пользовательскими настройками, Лучше всего выбрать веб-хранилище (так как сервер не нуждается в этой информации - вообще -).
Если вам нужно отслеживать состояние (т. е. пользователь щелкнул это на этой странице, пользователь вошел в систему как пользователь завершил эту часть процесса и т.д. c ...) использует куки.