mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 19.04.2024 16:18 Benutzername: Passwort: Auto-Login

Thema: Fontsize-JS: Cookie-Anweisung hinzufügen. Aber wie? vom 21.09.2010


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Allgemeines - Nonprint -> Fontsize-JS: Cookie-Anweisung hinzufügen. Aber wie?
Autor Nachricht
seitenumbruch
Threadersteller

Dabei seit: 21.08.2010
Ort: -
Alter: 54
Geschlecht: Männlich
Verfasst Di 21.09.2010 10:58
Titel

Fontsize-JS: Cookie-Anweisung hinzufügen. Aber wie?

Antworten mit Zitat Zum Seitenanfang

Grüße ins Forum! Lächel

Ich stehe momentan vor einem kleinen Problem. Auf einer Website habe ich per JS ein Fontsize-Script eingebunden. Es funktioniert prächtig und ist korrekt im <head>-Bereich auf jeder (Unter-)Seite eingebunden. Zudem sind die "onclick"-Anweisungen im <body>-Bereich und die <div>-ID's im Content-Bereich richtig platziert.

Ich habe dann noch Grafiken eingebaut, die mit einen Klick auf eine Lupe mit einem Pluszeichen und eben einem Minuszeichen dem Nutzer ein simples Umschalten zwischen den einzelnen Schriftgraden erlauben. So weit, so gut...

Über Sinn und Unsinn dieses Scripts brauchen wir uns nicht zu unterhalten, ein Kunde möchte es so explizit haben. Au weia! *bäh*


So sieht das Script aus:

Code:
<script type="text/javascript">

function fontSize(was,px,wen) {
        aktuell = document.getElementById(wen).style.fontSize;
        neu = aktuell.replace(/px/gi,"");
        neu *= 1;
        if (was=="big") {
                neu += px;
        }
        else if (was=="small") {
                neu -= px;
        }
        document.getElementById(wen).style.fontSize = neu + "px";
}

</script>


Problem: Wenn ich den Schriftgrad vergrößere oder verkleinere, bleibt diese Einstellung nur bis zum nächsten Klick auf eine Unterseite "erhalten". Bin ich auf einer neuen Unterseite, "springt" der Schriftgrad wieder auf die standardmäßige Einstellung zurück.

(Eventuelle) Lösung: Mit einem Cookie könnte man es so regeln, der Nutzer nur noch eine Einstellung (z.B. Schriftgrad größer) vornimmt und diese dann für alle Unterseiten beibehalten wird.

Fragen: Da ich mit JS keine großen Erfahrungen habe, weiß ich nicht weiter. Wie kann ich es nun realisieren, dass die Einstellung des Schriftgrades für alle Unterseiten beibehalten wird? Wie muss die "Cookie-Anweisung" (wenn es so zu realisieren ist) aussehen?

Ich bitte um Hilfe und bedanke mich schon einmal im Voraus... * Ich bin unwürdig * *bäh*


Greetz Andreas


Zuletzt bearbeitet von seitenumbruch am Di 21.09.2010 10:59, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
m
Moderator

Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Di 21.09.2010 11:37
Titel

Antworten mit Zitat Zum Seitenanfang

Beim setzen des Wertes speicherst du diesen auch in einem Cookie. Den Cookie
liest du dann wenn die Seite geladen wird aus und bestimmst somit den Schriftgrad.

Hier findest du alles was du zu Cookies in Javascript wissen mußt:

http://www.quirksmode.org/js/cookies.html
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
seitenumbruch
Threadersteller

Dabei seit: 21.08.2010
Ort: -
Alter: 54
Geschlecht: Männlich
Verfasst Di 21.09.2010 11:39
Titel

Antworten mit Zitat Zum Seitenanfang

Okay, vielen Dank für die schnelle Antwort! Lächel

Dann werde ich mich mal belesen, thx...


Greetz, Andreas
  View user's profile Private Nachricht senden
seitenumbruch
Threadersteller

Dabei seit: 21.08.2010
Ort: -
Alter: 54
Geschlecht: Männlich
Verfasst Di 21.09.2010 14:23
Titel

Antworten mit Zitat Zum Seitenanfang

Sodele, irgendwie werde ich nicht schlau... * Ich will nix hören... * * Ich bin ja schon still... * * Wo bin ich? *

Ich habe das folgende Script mal meinem ebenfalls funktionierenden Styleswitcher entnommen. Da funktioniert so ein Cookie prächtig und alle Funktionen bleiben erhalten.

Kann man die Zeilen nicht irgendwie passend abändern?

Den Cookienamen habe ich bereits ersetzt mit "Fontsize". Nun müssten nur noch ein paar Variablen ersetzt werden: getPreferredStyleSheet, setactivestylesheet und getActiveStyleSheet - eigentlich, oder? Und wenn, womit? * Keine Ahnung... *

Wenn ich dann den Code in das o.g. Script einfüge, sollte es doch klappen? Oder gibt es einen Denkfehler??? *auf dem Schlauch steh'*


Code:
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}

window.onload = function(e) {
var cookie = readCookie("fontsize");
var title = cookie? cookie : getPreferredStyleSheet();
setactivestylesheet(title);
}

window.onunload = function(e) {
var title = getActiveStyleSheet();
createCookie("fontsize", title, 365);
}

var cookie = readCookie("fontsize");
var title = cookie? cookie : getPreferredStyleSheet();
setactivestylesheet(title);


Zuletzt bearbeitet von seitenumbruch am Di 21.09.2010 14:42, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
seitenumbruch
Threadersteller

Dabei seit: 21.08.2010
Ort: -
Alter: 54
Geschlecht: Männlich
Verfasst Do 23.09.2010 23:02
Titel

Antworten mit Zitat Zum Seitenanfang

Update... *Schnief*

Habe bis jetzt hin und her probiert, aber ich habe keinen Cookie für die Fontsize-Funktion basteln können. Jedenfalls in diesem Bereich: NULL Erfolg - auf ganzer Linie... *hu hu huu* *hu hu huu*

Könnte mir bitte jemand beim Cookiesetzen helfen? Vielen lieben Dank im Voraus...


Greetz, Andreas * Ich bin unwürdig *
  View user's profile Private Nachricht senden
 
Ähnliche Themen Einstellen einer Fontsize in Photoshop CC 2018 nicht flüssig
htaccess Rewrite und fehlerhafte get-anweisung
include()-Anweisung innerhalb von array() möglich?
richtige SQL Anweisung funktioniert nicht im Script
[FlashMX 2004] return-Anweisung verstanden?
Auswahlbox mit „onchange-Anweisung XHTML 1.0 valide bekommen
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Allgemeines - Nonprint


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.