У меня на ролевом форуме http://curama.mybb.ru/ - есть несколько стилей и довольно давно. Скрипт работал исправно несколько лет, но потом что-то случилось и он перестал работать как надо. Но, на тестовом форуме http://testso.mybb.ru/, те же стили ( может кол-во другое разве что), и тот же скрип селектора - и всё работает.
<!--скрипт СМЕНЫ СТИЛЯ начало-->
<script type="text/javascript">
var linkStyles='<link rel="stylesheet" type="text/css" href="';
function setcOOkie(a,b,c) {if(c){var d = new Date();d.setDate(d.getDate()+c);}if(a && b) document.cookie = a+'='+b+(c ? '; expires='+d.toUTCString() : '');else return false;}
function getcOOkie(a) {var b = new RegExp(a+'=([^;]){1,}');var c = b.exec(document.cookie);if(c) c = c[0].split('=');else return false;return c[1] ? c[1] : false;}
function clearSet(L){if(L){setcOOkie("changeStyle",L,30);$("link[rel='stylesheet']:first").replaceWith(linkStyles+L+'"/>')}};var Lmem=getcOOkie("changeStyle");clearSet(Lmem);
</script>
<style>#changeStyle img{border: dotted 1px transparent;}
.STYLselect {border-color: blue !important;}
</style>
<div id="changeStyle" style="top:80px; left:10px; position:fixed!important;">
<img src="http://s9.uploads.ru/drlk4.png" alt="https://forumstatic.ru/files/0018/26/1d/85700.css"/>
<br>
<img src="https://forumstatic.ru/files/0018/26/1d/26457.png" alt="https://forumstatic.ru/files/0018/26/1d/37596.css"/>
<br>
<img src="http://s9.uploads.ru/drlk4.png" alt="https://forumstatic.ru/files/0018/26/1d/39295.css""/>
<br>
<img src="https://forumstatic.ru/files/0018/26/1d/47359.png" alt="https://forumstatic.ru/files/0017/ef/32/79415.css"/>
<br>
<img src="http://s5.uploads.ru/Dh3tb.png" alt="https://forumstatic.ru/files/0018/26/1d/18788.css"/>
<br>
<img src="http://s9.uploads.ru/drlk4.png" alt="https://forumstatic.ru/files/0018/26/1d/42948.css"/>
<br>
<img src="http://s3.uploads.ru/721Wm.png" alt="https://forumstatic.ru/files/0018/26/1d/20318.css"/>
<br>
<img src="http://sa.uploads.ru/v2Hle.png" alt="https://forumstatic.ru/files/0018/26/1d/72983.css"/>
<br>
<img src="http://s7.uploads.ru/AQICH.png" alt="https://forumstatic.ru/styles/0018/26/1d/style.1671641750.css"/>
</div><script>$("#changeStyle img[alt='"+Lmem+"']").addClass("STYLselect");$('#changeStyle img[alt]').click(function(){L=$(this).attr("alt");$('#changeStyle img[alt]').removeClass("STYLselect");$(this).addClass("STYLselect");clearSet(L)});</script>
<!--скрипт смены стиля конец-->
Было время, пришлось использовать импорт стиля, и ставить ссылку на залитый стиль в пункте /* A1.1 */:
Например:
/* A1.1 */
@import url(/files/0017/ef/32/13772.css);
потом эту часть кода ставить в первое окно "свой стиль" вместо полной css, с которой до этого был сделан импорт (т.е. взята ссылка на рабочую css, вставлена в пункт стиля
/* A1.1
@import url(style_cs.1679423973.css);*/
потом стиль заливался в "Файлы", оттуда бралась ссылка на стиль, точнее требовался только кусочек - например 13772.css, это ставилось вот сюда
/* A1.1 */
@import url(/files/0017/ef/32/13772.css);
в первое окно стиля, а перед этим полная Css стиля убиралась полностью.
Вот в этом скрипте менялись ссылки на залитый стиль и всё, селектор работал.
<!--//скрипт СМЕНЫ СТИЛЯ начало//-->
<script type="text/javascript">
var linkStyles='<link rel="stylesheet" type="text/css" href="';
function setcOOkie(a,b,c) {if(c){var d = new Date();d.setDate(d.getDate()+c);}if(a && b) document.cookie = a+'='+b+(c ? '; expires='+d.toUTCString() : '');else return false;}
function getcOOkie(a) {var b = new RegExp(a+'=([^;]){1,}');var c = b.exec(document.cookie);if(c) c = c[0].split('=');else return false;return c[1] ? c[1] : false;}
function clearSet(L){if(L){setcOOkie("changeStyle",L,30);$("link[rel='stylesheet']:first").replaceWith(linkStyles+L+'"/>')}};var Lmem=getcOOkie("changeStyle");
if(!Lmem)Lmem="//forumstatic.ru/files/0017/ef/32/13772";clearSet(Lmem);</script>
<style>#changeStyle img{border: dotted 1px transparent;}
.STYLselect {border-color: blue !important;}
</style>
<div id="changeStyle" style="top:80px; left:5px; position:fixed!important;">
<img src="https://forumstatic.ru/files/0018/26/1d/92779.png" alt="https://forumstatic.ru/files/0018/26/1d/41111.css"/>
<br>
<img src="https://forumstatic.ru/files/0018/26/1d/50896.png" alt="https://forumstatic.ru/files/0018/26/1d/18310.css"/>
<br>
<img src="https://forumstatic.ru/files/0018/26/1d/26054.png" alt="https://forumstatic.ru/files/0018/26/1d/39295.css"/>
<br>
<img src="https://forumstatic.ru/files/0018/26/1d/75813.png" alt=https://forumstatic.ru/files/0018/26/1d/52042.css"/>
<br>
<img src="https://forumstatic.ru/files/0018/26/1d/26628.png" alt="https://forumstatic.ru/files/0018/26/1d/42948.css"/>
<br>
<img src="https://forumstatic.ru/files/0018/26/1d/47359.png" alt="https://forumstatic.ru/files/0017/ef/32/79415.css"/>
<br>
<img src="https://forumstatic.ru/files/0018/26/1d/35759.png" alt="https://forumstatic.ru/files/0018/26/1d/18788.css"/>
<br>
<img src="https://forumstatic.ru/files/0018/26/1d/87711.png" alt="https://forumstatic.ru/files/0018/26/1d/20318.css"/>
<br>
<img src="https://forumstatic.ru/files/0018/26/1d/75511.png" alt="https://forumstatic.ru/files/0017/ef/32/11291.css"/>
<br>
<img src="https://forumstatic.ru/files/0018/26/1d/26457.png" alt="https://forumstatic.ru/styles/0017/ef/32/13772.css"/>
</div>
<script>$('#changeStyle img[alt]').click(function(){L=$(this).attr("alt");$('#changeStyle img[alt]').removeClass("STYLselect");$(this).addClass("STYLselect");clearSet(L)});
if(Lmem)$("#changeStyle img[alt='"+Lmem+"']").addClass("STYLselect");
</script>
<!--скрипт смены стиля конец-->
Я так делал много раз, переставляя стили по умолчанию, но вот вчера что-то пошло не так и перестал отображаться стиль по умолчанию, хотя селектор работал.
Сейчас я поставил старый вариант скрипта (как на тестовом) но осталась проблема в том, что теперь стиль по умолчанию отображается, зато теперь не работает селектор.( точнее работает, но криво, приходится каждый раз обновлять страницу, чтобы стиль полностью переключился)
Буду рад помощи).