neowaring
@neowaring
Разработчик неизвестных систем

Почему не сохраняется стиль на разных страницах js?

Есть скрипт добавления css файла для замены стилей некоторых элементов
После нажатия на 1 из вариантов всё работает и переключается.
Но это Opencart 2.3, и при переходе на другие страницы стиль сбрасывается. То есть записывается заново дефолтный стиль (пустой) но уже для данной страницы.
Как вырезать или исправить что бы при переходе не учитывался path или что бы срабатывал на все страницы ?

Вот код скрипта и кнопок.

HTML код
<!DOCTYPE html>
<html>
<head>
    <title>Название страницы</title>
    <!-- CSS -->
    <link href="catalog/view/theme/angar/stylesheet/stylesheet.css" rel="stylesheet"><!-- Стандартный стиль -->
	<script>
		function getcookie(name) {
			var aCookie = document.cookie.split(';');
			for (var i = 0; i < aCookie.length; i++) {
				while (aCookie[i][0] == ' ') {
					aCookie[i] = aCookie[i].substr(1);
				}
				var aCrumb = aCookie[i].split('=');
				if (name == aCrumb[0]) {
					return unescape(aCrumb[1]);
				}
			}
			return null;
		}

		function setcookie(name, value, expires, path, domain, secure) {
			var today = new Date();
			var expires_date = new Date(today.getTime() + (expires * 1000));
			document.cookie = name + '=' + escape(value) + (expires ? ';expires=' + expires_date.toUTCString() : '') + (path ? ';path=' + path : '') + (domain ? ';domain=' + domain : '') + (secure ? ';secure' : '')
		}

		if (getcookie('myStyle9') == null) {
			setcookie('myStyle9', 'catalog/view/theme/angar/stylesheet/stylesheet_default.css')
		}

		var myStyle9 = getcookie('myStyle9');

		document.write('<link type="text/css" rel="StyleSheet" href="'+myStyle9+'" />')
	</script>
</head>
<body>
	
<!-- Dop Style -->
	<div class="btn-group dropup">
      <button type="button" class="btn btn-danger dropdown-toggle" data-toggle="dropdown">Цвет сайта</button>
      <ul class="dropdown-menu pull-right" role="menu">
        <li><a href="javascript://" onclick="setcookie('myStyle9', 'catalog/view/theme/angar/stylesheet/stylesheet_default.css');window.location.reload()" id="default">Стандартный</a></li><!-- Пустой файл -->
        <li><a href="javascript://" onclick="setcookie('myStyle9', 'catalog/view/theme/angar/stylesheet/stylesheet_blue.css');window.location.reload()" id="blue">Синий</a></li><!-- Меняет некоторые элементы -->
        <li><a href="javascript://" onclick="setcookie('myStyle9', 'catalog/view/theme/angar/stylesheet/stylesheet_green.css');window.location.reload()" id="green">Зеленый</a></li><!-- Меняет некоторые элементы -->
      </ul>
    </div>
<!-- Dop Style -->

</body>
</html>
  • Вопрос задан
  • 173 просмотра
Решения вопроса 1
neowaring
@neowaring Автор вопроса
Разработчик неизвестных систем
Решено

Решено заменой
+ (path ? ';path=' + path : '') +
на

+ ';path=/' +
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы