Изменить код скрипта

206
04 ноября 2017, 16:10

Скрипт заработал, но не совсем правильно, а то есть наоборот сначала загружается версия css/weak-sighted.css а нужно чтобы сначала подгружались стандартные стили, помогите исправить пожайлуста!

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

var cssList = [ 
        'jquery.mmodal.css', 
        'jquery.mnotify.default.css', 
        'jquery.mnotifyajax.css', 
        'mtooltip.css', 
        'screen.css', 
        'skin.css', 
        'jquery.fancybox.css', 
        'jquery.fancybox-buttons.css', 
        'flash.css', 
        'author.css' 
    ], 
    cssDisable = false, 
    tmpCss = [], 
    weakCss = '/weak-sighted.css', 
    cssCookieName = 'css_disabled'; 
 
function isCssDisabled() { 
    return cssDisable; 
} 
 
function cssAvailable(src) { 
    for (var i = 0; i < cssList.length; i++) { 
        if (src.indexOf(cssList[i]) > -1) { 
            return true; 
        } 
    } 
 
    return false; 
} 
 
function disableCss() { 
    $('link[type="text/css"]').each(function (i, el) { 
        var $el = $(el), src = $el.attr('href'); 
 
        if (cssAvailable(src)) { 
            tmpCss.push(src); 
            $el.remove(); 
        } 
    }); 
    attachCss('/weak-sighted.css', 'weak'); 
    $.cookie(cssCookieName, 1); 
    isCssDisabled = true; 
} 
 
function enableCss() { 
    $('#weak').remove(); 
    for (var i = 0; i < tmpCss.length; i++) { 
        attachCss(tmpCss[i]); 
    } 
    $.cookie(cssCookieName, 0); 
    isCssDisabled = false; 
} 
 
function attachCss(src, id) { 
    var link = document.createElement('link'); 
    link.type = 'text/css'; 
    link.href = src; 
    link.rel = 'stylesheet'; 
    if (id) { 
        link.id = id; 
    } 
    document.getElementsByTagName("head")[0].appendChild(link); 
} 
 
$(document) 
    .on('click', '#normcss', function (e) { 
        e.preventDefault(); 
 
        if (isCssDisabled) { 
            enableCss(); 
        } else { 
            disableCss(); 
        } 
 
    }); 
 
$(document).ready(function () { 
    isCssDisabled = $.cookie(cssCookieName) || false; 
    if (isCssDisabled) { 
        disableCss(); 
    } 
});

Answer 1

Не уверен, что сработает, но попробуйте:

$(document).ready(function () {
    isCssDisabled = $.cookie(cssCookieName) || false;
    if (isCssDisabled) {
        enableCss();
    }
});

ATTENTION: костыль!

READ ALSO
Не коректно работает часть javascript в ruby on rails

Не коректно работает часть javascript в ruby on rails

Прикрутил мобильное меню и после перехода по нему страница не скролиться и меню криво работаетПосле обновления страницы опять все работает...

187
Манипуляция с цветом карты OpenLayers

Манипуляция с цветом карты OpenLayers

Среди примеров OpenLayers есть Color Manipulation, который показывает как манипулировать цветом растрового слоя

214
Как сделать uncheck чекбосам программно?(office365 fabric)

Как сделать uncheck чекбосам программно?(office365 fabric)

Есть компонента чекбокс в библиотеке office365 fabric, написанной на ReactJsТаких чекбоксов несколько на странице(каждый у итема в списке)

237
Спойлер для таблицы JS

Спойлер для таблицы JS

Kак можно реализовать открытие и закрытие данных в таблице по нажатию на ячейку названия таблицы (Microsoft Office и Apple Store)?

203