Javascript Schriftengröße: Problem bei URL-Übergabe im IE8

Fragen und Antworten zur clientseitigen Programmiersprache JavaScript

Javascript Schriftengröße: Problem bei URL-Übergabe im IE8

Beitragvon horst1234 am Di 23. Feb 2010, 13:06

Hallo,

ich hab eben das Javascript zur Schriftengröße eingebaut, klappt auch wunderbar auf Firefox, aber der IE 8 hat folgendes Problem:

- wenn ich auf einer Seite die Schriftgrößen ändere (größer oder kleiner), klappt alles prima.
- wenn ich von einer unveränderten Seite zu einer anderen wechsele, klappt auch noch alles.
- wenn ich von einer veränderten Seite weitergehe (in der URL ist dann der zusatz "?fsize = ..." angehängt), dann übernimmt die neue Seite die Größe wie geplant. Wenn ich dann aber auf dieser Seite die Größe wieder ändern will, gibt der IE eine Fehlermeldung raus, dass die Seite nicht gefunden wird. Problem ist wohl, dass nun ein Gatter ("#") an die URL angehängt wurde in der Form "www.meine-seite.de/index.php?fsize=1.2#", wenn ich auf die Größenänderungslinks klicke.

Gibt's da eine Lösung?

Vielen Dank,
Horst
horst1234
 
Beiträge: 2
Registriert: Di 23. Feb 2010, 12:43

Problem gelöst

Beitragvon horst1234 am Di 23. Feb 2010, 14:07

Ich hab das charset im Header geändert (wie in der beispiel.html), und schon klappt es ...
horst1234
 
Beiträge: 2
Registriert: Di 23. Feb 2010, 12:43

Problem bei URL-Übergabe im IE ab bestimmter Ebene

Beitragvon chrissi am Mi 15. Sep 2010, 13:47

Hallo,

das Script für die Schriftvergrößerung funktioniert im Firefox, Opera, Safari,... prima!
Auch im IE (IE8, IE7, IE6) funktioniert alles so wie es soll - jedoch nur bis zu einer bestimmten Ebene.


Problem:

- Die Seite index.php in folgendem Verzeichnis kann ich problemlos mit dem IE öffnen und die Verlinkung, Schriftvergrößerung und -verkleinerung funktioniert einwandfrei.
http://www.xyz.xx/1/2/3/index.php

- Gehe ich jedoch noch eine Ebene tiefer, d.h. auf http://www.xyz.xx/1/2/3/4/index.php, verlinkt der IE eine Ebene höher auf
(http://www.xyz.xx/1/2/3/index.php?fsize=0.9) und wendet auf dieser Seite die Vergrößerung bzw. Verkleinerung an.

Ich habe echt keine Idee woran das liegen könnte :? - gerade weil es in den anderen Browsern auf allen Ebenen funktioniert.


Ich hoffe ihr könnt mir weiterhelfen!

Viele Grüße
Christina
chrissi
 
Beiträge: 3
Registriert: Mi 15. Sep 2010, 13:20

Beitragvon alm am Mi 15. Sep 2010, 14:37

Hallo,

gilt das für alle genannten IEs? Wurden irgendwelche Fehlermeldungen in der JavaScript Fehlerkonsole angezeigt? Die regulären Ausdrücke sind die selben und es sollte keine Rolle spielen, wie viele Verzeichnisebenen darunter liegen. Im Grunde wird nur nach dem Bestandteil fsize gesucht und dieser dann - wenn vorhanden - ausgetauscht bzw. ein Parameter angehängt falls noch keiner vorhanden war. Was vor oder nach dem Parameter steht, sollte für das Ersetzen des Inhalts uninteressant sein.

Versuch mal die Zeile 120 durch eine Variante mit indexOf zu ersetzen. Etwa so:
Code: Alles auswählen
document.links[i].href = document.links[i].substring (0, document.links[i].href.indexOf ("fsize=")) + "fsize=" + fsize

Bei dieser einfachen Variante dürfen allerdings keine weiteren Parameter in der URL folgen.


Gruß
Alex
EvoComp.de
Beachten Sie unsere Beispiele zu JavaScript, PHP und Ajax, sowie unser PHP MySQL Tutorial
alm
 
Beiträge: 81
Registriert: Do 21. Feb 2008, 16:22
Posts

Beitragvon chrissi am Mi 15. Sep 2010, 15:50

Hallo Alex,

vielen Dank für deine schnelle Antwort!

- Ja, dieses Phänomen betrifft alle genannten IE´s (habe es im IE8,7 und 6 getestet)
- Es wurden keine Fehler in der Fehlerkonsole angezeigt.
- Danke für deine Variante mit indexOf --> hat leider nicht funktioniert.

Die fsize setzt er korrekt an die URL.

Wenn ich z.B. die Seite http://www.xyz.xx/1/2/3/index.php auf fsize=0.8 setze (http://www.xyz.xx/1/2/3/index.php?fsize=0.8)
und anschließend auf die Seite http://www.xyz.xx/1/2/3/4/index.php wechsel, fügt er ?fsize=0.8 auch korrket an die URL und die Seite wird korrekt dargestellt.
Nur wenn ich jetzt von der Seite http://www.xyz.xx/1/2/3/4/index.php?fsize=0.8 die fsize mit dem Button + um einen Schritt vergrößern möchte, wird auf http://www.xyz.xx/1/2/3/index.php?fsize=0.9 verlinkt.

Viele Grüße
Christina
chrissi
 
Beiträge: 3
Registriert: Mi 15. Sep 2010, 13:20

Beitragvon alm am Mi 15. Sep 2010, 16:21

Bist Du sicher, dass es an dem Script liegt und die URLs im Originaldokument korrekt gesetzt sind? Zum Testen könntest Du einfach mal das Script deaktivieren (Zeile init_FontSize (0.8, 'em', 0.1) auskommentieren) und nach den URLs im Dokument schauen... Finde dieses Verhalten ausgesprochen komisch.
EvoComp.de
Beachten Sie unsere Beispiele zu JavaScript, PHP und Ajax, sowie unser PHP MySQL Tutorial
alm
 
Beiträge: 81
Registriert: Do 21. Feb 2008, 16:22
Posts

Beitragvon chrissi am Do 16. Sep 2010, 07:36

Guten Morgen,

ich habe den Fehler gefunden :D - manchmal sieht man den Wald vor lauter Bäumen nicht mehr ;) Sorry!
Das Verhalten lag nicht am Script, das funktioniert echt prima - kann ich nur weiterempfehlen!

Vielen Dank noch mal für deine Hilfe!

Viele Grüße
Christina
chrissi
 
Beiträge: 3
Registriert: Mi 15. Sep 2010, 13:20


Zurück zu JavaScript

cron