Ich bin auf der Suche nach einer Möglichkeit zum Hot-Swap-Stylesheets, während die Seite geladen wird. Hier ist meine aktuelle Lösung, es funktioniert, aber es hat einige Einschränkungen/Probleme.Elegante Möglichkeit, Thema Stylesheets ohne Neuladen Seite Seite
html Kopf:
<link id="theme" href="themes/theme1.css" rel="stylesheet" type="text/css">
js:
themes = [
"themes/theme1.css",
"themes/theme2.css"
];
function themeSwitch() {
var currentTheme = $("#theme").attr('href');
var themeID = themes.indexOf(currentTheme);
themeID = (themeID + 1) % themes.length;
$("#theme").attr('href', themes[themeID]);
}
Mein Problem mit diesem Ansatz ist, wenn die Funktion der Änderung genannt wird, ist nicht sofort als der Browser eine zusätzliche GET-Anforderung machen muss für die CSS-Datei. Ein weiteres Problem besteht darin, dass der Benutzer die Verbindung vorübergehend trennt, während er die Seite ohne Thema verwendet.
Mögliches Duplikat von [Wie wechsle ich mein CSS Stylesheet mit jQuery?] (Http://stackoverflow.com/questions/7846980/how-do-i-switch-my-css-stylesheet-using-jquery) – Qhuea
@ Qhuea Die Lösung in diesem Problem hat das gleiche Problem, eine GET-Anfrage jedes Mal zu benötigen, wenn das Thema gewechselt wird. – luctowers