Bitte geben Sie einen Grund für die Verwarnung an
Der Grund erscheint unter dem Beitrag.Bei einer weiteren Verwarnung wird das Mitglied automatisch gesperrt.
Verschiedene CSS Files anbieten
#1 Verschiedene CSS Files anbieten
Verschiedene Designs auf einer Seite anzubieten ist ja mit JavaScript möglich. Es besteht eine Auswahl zwischen zwei verschiedenen CSS Files. Eines davon muss dann auf einem externen Webspace liegen, das andere habe ich unter Admin --> Layout --> Farben & Schrift --> CSS direkt haken.
Das ist das JavaScript:
<html lang="de">
<head>
<meta http-equiv="content-type" content="text/html;
charset=ISO-8859-1">
<title>JavaScript</title>
<link id="style" type="text/css" rel="stylesheet"
href="style-1.css">
<script type="text/javascript">
function change_style(n) {
if(n == 1) {
document.getElementById('style').href = "style-1.css";
document.getElementById('heading').innerHTML = "Style 1";
return;
}
if(n == 2) {
document.getElementById('style').href = "style-2.css";
document.getElementById('heading').innerHTML = "Style 2";
return;
}
}
</script>
</head>
<body>
<h1 id="heading">Style 1</h1>
<p>Wählen Sie:
<a href="javascript:change_style(1)">Style 1</a><br>
<a href="javascript:change_style(2)">Style 2</a>
</p>
</body>
</html>
Entnommen aus http://www.professionelle-websites.de/k07l13.htm
Nun müsste man ja für jede Seite immer wieder neu auswählen. Wäre es da nicht möglich, mittels Cookie dies zu unterbinden? Also praktisch dass man nur einmal auswählen muss und es bleibt dann für den gesamten Forenaufenthalt.
Wenn ja - wie?
Redaktionsschreiber.de | Nachrichten-Board.de | Expositionen.info | Redaktionsschreiber.de Forum
![avatar](https://files.homepagemodules.de/b214495/avatar-2fc221c8-148846.jpg)
Ja, das ist möglich. Siehe hier: http://www.html-world.de/artikel/art_j15.php
Das sollte helfen.
Grüße
#3 RE: Verschiedene CSS Files anbieten
Danke für den Link.
Es funktioniert leider wieder nicht so, wie es soll^^ Ich muss sagen, dass ich mich mit JavaScript nicht wirklich gut auskenne..
Ich habe jetzt schon verschiedenes versucht, aber immer wieder springt das Layout um.
Wie würde der Code denn mit dem Cookie Code zusammen aussehen? Oder muss der gar nicht in diesen Code (Ich meine jetzt das JavaScript) eingebaut werden?
Redaktionsschreiber.de | Nachrichten-Board.de | Expositionen.info | Redaktionsschreiber.de Forum
#4 RE: Verschiedene CSS Files anbieten
![avatar](https://files.homepagemodules.de/b214495/avatar-2fc221c8-148846.jpg)
Das Script kommt in das obere Leiste Template zwischen <head> </head>. Es liest bei jedem Aufruf der Seite das gespeicherte Cookie 'style' und setzt den Style dann entsprechend. Du kannst weitere Styles hinzufügen indem du in die Variable styles weitere Felder hinzufügst (rot markiert). Das grün markierte legt das Verfallsdatum des Cookies fest, im Moment 1 Jahr.
<script language="Javascript">
var a = new Date();
a = new Date(a.getTime() +1000*60*60*24*365);
var styles = new Array();
styles[0] = 'style.css';
styles[1] = 'http://..... style2.css';
if(document.cookie) {
var c = document.cookie;
var foundstyle = false;
/* Cookievariablen ermitteln */
while(true) {
var i1 = c.indexOf('=');
var i2 = c.indexOf(';');
/* Falls Semikolon am Ende fehlt */
if(i2 < 0)
i2 = c.length;
var cookiename = c.substring(0, i1);
var cookiewert = c.substring(i1+1, i2);
/* Leerzeichen vor Name entfernen */
var i3 = cookiename.lastIndexOf(' ');
if(i3 > -1)
cookiename = cookiename.substring(i3 + 1);
/* Style festlegen */
if(cookiename == 'style') {
try {
var n = parseInt(cookiewert);
document.write('<link id="style" type="text/css" rel="stylesheet" href="' + styles[n-1] + '">');
foundstyle = true;
}
catch(err) {}
break;
}
/* Nächstes Cookie oder aufhören */
if(c.length > i2)
c = c.substring(i2+1);
else
break;
}
/* Standardstyle im Falle von Fehler oder keinem gewählten Style */
if(!foundstyle)
document.write('<link id="style" type="text/css" rel="stylesheet" href="style.css">');
}
function change_style(n) {
document.getElementById('style').href = styles[n-1];
document.getElementById('heading').innerHTML = 'Style ' + n;
/* Cookie setzen */
document.cookie = 'style=' + n + '; expires=' + a.toGMTString() + ';';
return;
}
</script>
<noscript>
<!-- Standardstyle falls Scripts nicht aktiviert sind -->
<link id="style" type="text/css" rel="stylesheet" href="style.css">
</noscript>
Dort wo die Styles ausgewählt werden sollen kommt dein restlicher Code hin:
<h1 id="heading">Style 1</h1>
<p>Wählen Sie:
<a href="javascript:change_style(1)">Style 1</a><br>
<a href="javascript:change_style(2)">Style 2</a></p>
Grüße
#5 RE: Verschiedene CSS Files anbieten
Leider funktioniert es immer noch nicht ganz so, wie es soll. Ich bin mir jetzt nur nicht sicher, ob es an meinem Browser liegt oder ob es allgemein nicht funktioniert. In meinem Testforum bin ich zu diesem Ergebnis gekommen. Style2 springt aber immer wieder um auf Style1..
Redaktionsschreiber.de | Nachrichten-Board.de | Expositionen.info | Redaktionsschreiber.de Forum
![avatar](https://files.homepagemodules.de/b214495/avatar-7b9e39a3-143124.gif)
Der Vorschlag von Sabine ist leider nur für eine Seite anwendbar, da sich bei der nächsten Seite, welche aufgerufen wird, die Arry von vorne beginnend ablaufen wird, sodass diese Funktion leider nur bedingt funktioniert.
Eine Lösung wäre es, dass es in die Cookies der Clienten geschrieben wird, dann könnte es gehen. Das beste wäre aber weiterhin, dass es eine Auswahlmöglichkeit bei den Usern gibt, wodurch dann diese Auswahl in der Datenbank festgehalten wird.
Genauer erläutert: Admin - Punkt 3
![avatar](https://files.homepagemodules.de/b214495/avatar-2fc221c8-148846.jpg)
In Antwort auf:
Der Vorschlag von Sabine ist leider nur für eine Seite anwendbar, da sich bei der nächsten Seite, welche aufgerufen wird, die Arry von vorne beginnend ablaufen wird, sodass diese Funktion leider nur bedingt funktioniert.
Sofern das Script in das Template Obere Leiste geschrieben wird, wird auf jeder Seite das Cookie ausgelesen und der Style entsprechend gesetzt!
In Antwort auf:
Eine Lösung wäre es, dass es in die Cookies der Clienten geschrieben wird, dann könnte es gehen.
Genau das wird ja gemacht.
function change_style(n) {
document.getElementById('style').href = styles[n-1];
document.getElementById('heading').innerHTML = 'Style ' + n;
/* Cookie setzen */
document.cookie = 'style=' + n + '; expires=' + a.toGMTString() + ';';
return;
}
![avatar](https://files.homepagemodules.de/b214495/avatar-2fc221c8-148846.jpg)
@Mithrandir
ich weiß warum es bei dir nicht funktioniert. Du hast das 'heading' Element weggelassen. Daher muss die Funktion change_style bei dir so aussehen:
function change_style(n) {
document.getElementById('style').href = styles[n-1];
/* Cookie setzen */
document.cookie = 'style=' + n + '; expires=' + a.toGMTString() + ';';
return;
}
Es gab einen Fehler an dieser Stelle, daher kam es nie zum Cookie-setzen.
Schau mal hier: http://testforum.f1tippclub.de, dort funktioniert es.
#10 RE: Verschiedene CSS Files anbieten
Jetzt funktioniert es einwandfrei. Vielen Dank euch allen.
Redaktionsschreiber.de | Nachrichten-Board.de | Expositionen.info | Redaktionsschreiber.de Forum
Hab nun doch ein Problem:
Die CSS wird nicht richtig übernommen. Manche Stellen im Forum werden anders eingefärbt, als sie eigentlich sein sollten -hab keine Ahnung warum.
In meinem "Testboard" sind die Farben perfekt, aber wenn ich die CSS ins andere Forum mit dem script lade ist das Layout anders. - Dabei ist der Code zu 100% der gleiche.
Kann mir jemand helfen?
In Antwort auf:
{{meta_refresh}}
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="Content-Language" content="de">
<META NAME="keywords" CONTENT="{{hpmtext}}">
<META NAME="description" CONTENT="{{hpmtitle}}">
<META NAME="robots" CONTENT="INDEX,FOLLOW">
<link rel="stylesheet" type="text/css" href="{{link_css}}">
<link rel="alternate" type="application/rss+xml" title="{{hpmtitle}}" href="feed/all.rss">
<TITLE>{{html_title}}</TITLE>
Diesen Teil hänge ich ja vor das ganze Script oder? Da wenn ich es hinten drang hänge das Forum "verschwunden" ist.
![avatar](https://files.homepagemodules.de/b214495/avatar-20ab92af-148831.gif)
Ich verseh dich nicht ganz. Ich habe die CSS gehackt und diese ist meine Standart-CSS und diese tut auch wunderbar.
Die anderen zwei CSS-Vorlagen hab ich auf einem Server die mit dem Script geladen werden. Die Farben werden auch zum Teil übernommen, aber eben nicht alles. So ist z.B. der Hintergrund bei aktive User in hell-blau, obwohl er schwarz sein sollte.
Im Testboard in dem die CSS als Standart aktiv ist sieht es hingegen aus wie gewünscht.
#15 RE: Verschiedene CSS Files anbieten
![avatar](http://files.homepagemodules.de/b104774/avatar-e1e3f372-1.gif)
Hi Mithrandir,
kommt etwas spät, aber vielleicht findest Du hier noch einige Möglichkeiten:
Verschiedene Hintergrundwechsler für Forum und Homepage
Gruss
Wolf
- Informationen
- Aktuelle News
- Forum Tutorials - Tipps und Anleitungen
- SEO / Werbung fürs Forum
- Verwaltung
- Extras
- Design
- Plugin(system)
- Eure Fragen zu Tutorials
- Forum Support
- Fragen und Antworten
- Pluginsystem
- Plugins
- Templates & Sprachen
- Bugreport
- Verbesserungsvorschläge
- Sponsoren gesucht
- Das neue Xobor Business-Template
- News und Updates
- Bugreport
- Allgemeines Feedback
- Verbesserungsvorschläge
- Sonstiges
- Kaffeeklatsch
- Lob & Kritik
- Verbesserungsvorschläge
- Allgemeine Fragen
- Fehlermeldungen
- Verbesserungsvorschläge Responsive Design
- Bugreport Responsive Design
- Archiv - Alter Betatest
- Responsive Design - Verbesserungsvorschläge
- Responsive Design - Bugreport
- Fragen zum neuen Template
- Neue Administration Beta Test
- Bugreport Neue Administration
- Allgemeines Fragen & Feedback
- Verbesserungsvorschläge zur neuen Administration
- Shoutbox
Ähnliche Themen
Jetzt anmelden!
Jetzt registrieren!
© 2017 Xobor | Forum-Software