Хотя Ext.util.CSS.swapStyleSheet будет работать, у него есть несколько недостатков:
1.Рендеринг страницы с новой темой CSS занимает больше времени.
2. При переключении между темами ваша страница некоторое время не будет работать.Это сделает страницу плохо выглядящей (разбитой и простой).
3. На экране появятся ненужные полосы прокрутки.
Я преодолел их, используя JavaScript:
Здесь,
Включите все файлы CSS в ваш HTML-файл.
<link rel="stylesheet" id="theme1" type="text/css" href="../Theme1.css" />
<link rel="stylesheet" id="theme2" type="text/css" href="../Theme2.css" />
Отключите все темы, кроме той, которую вы хотите по умолчанию.
document.getElementById('theme1').disabled = true;
document.getElementById('theme2').disabled = false;
Теперь страница будет загружена с 'theme2'.
Если вы хотите переключить тему.Сделайте противоположное вышесказанному ...
document.getElementById('theme1').disabled = false;
document.getElementById('theme2').disabled = true;
Таким образом, переключение будет очень быстрым.Так как мы загрузили все файлы CSS изначально.Он не будет запрашивать у сервера новую тему каждый раз.
Это сработало очень хорошо для меня.