doctype integriert und javascript liest die höhe nicht mehr aus
Ron
- javascript
Hallo,
ich bräuchte mal in folgender Sache Hilfe oder einen Wink.
Ich lese per Javascript die Fensterhöhe aus und ändere daraufhin die Höhe einer Ebene:
function Fensterhoehe ()
{
if (window.innerHeight) {
return window.innerHeight;
}
else if (document.body && document.body.offsetHeight) {
return document.body.offsetHeight;
}
else {
return 0;
}
}
welchehoehe = Fensterhoehe();
document.getElementById("grafik").style.height = welchehoehe;
Funktioniert auch solange ich im Quirks-Modus arbeite also ohne Doc-Type.
Setze ich jedoch einen ein um die Sache Valide zu machen:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
bekomme ich folgende Fehlermeldung:
Fehler: Fehler beim Verarbeiten des Wertes für Eigenschaft 'height'. Deklaration ignoriert.
Ist mir nicht klar warum das so ist und was ich daran ändern muß.
Wenn jemand was dazu sagen könnte wäre das nett.
Gruß Ron
Hi,
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
Das sollte doch immer noch den Quirks-Mode bewirken, oder?
bekomme ich folgende Fehlermeldung:
Fehler: Fehler beim Verarbeiten des Wertes für Eigenschaft 'height'. Deklaration ignoriert.
Firefox 1.5?
Ich denke, das liegt daran, dass deine Funktion einen Integerwert zurückliefert, .style.height erwartet aber eine CSS-Koforme Angabe, also mit Einheit. Versuche einamal noch ein "px" mit anzuhängen.
Gruß,
Harlequin
Hi,
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
Das sollte doch immer noch den Quirks-Mode bewirken, oder?
Ach ja? Den Doc-Typ-Zirkus sollte ich mir vielleicht nochmal zu Gemüte führen ;)
bekomme ich folgende Fehlermeldung:
Fehler: Fehler beim Verarbeiten des Wertes für Eigenschaft 'height'. Deklaration ignoriert.
Firefox 1.5?
Genau...
Der IE spinnt aber auch rum. Macht die Ebebe dann nur noch 15px hoch oder so...
Ich denke, das liegt daran, dass deine Funktion einen Integerwert zurückliefert, .style.height erwartet aber eine CSS-Koforme Angabe, also mit Einheit. Versuche einamal noch ein "px" mit anzuhängen.
Das habe ich jetzt mal versucht....
welchehoehe = welchehoehe+"px";
und funktioniert auch im Firefox... der IE spinnt aber immer noch.
Zieht die Ebene auf 15px Höhe zusammen, Dabei soll SIe über die ganze Fensterhöhe gehen.
Watn Quirk-Quark.
Gruß Ron
»Hi,
Firefox 1.5?
Genau...
War nur eine Vermutung aufgrund der Fehlermeldung, weil ich die hier auch ständig in der Javascript-Konsole habe... nervt etwas, wenn man deswegen die eigenlichen Skriptfehler nicht mehr sieht (Diese Meldung kommt vom CSS-Parser). Ein Filter wäre ganz hilfreich.
und funktioniert auch im Firefox... der IE spinnt aber immer noch.
Zieht die Ebene auf 15px Höhe zusammen, Dabei soll SIe über die ganze Fensterhöhe gehen.
Was kommt den raus, wenn Du dir die ermittelte Höhe per Alert ausgeben lässt? Ich kann mich dunkel daran erinnern das ich an dem Problem auch schon mal verzweifelt bin...
Gruß,
Harlequin
Hi,
Was kommt den raus, wenn Du dir die ermittelte Höhe per Alert ausgeben lässt? Ich kann mich dunkel daran erinnern das ich an dem Problem auch schon mal verzweifelt bin...
Im FF erhalte ich einen Wert um die 600px;
Der IE erzählt mir was von 52px, obwohl der Sichtbare Bereich noch größer als beim FF sein müsste... komisch.. komisch...
Ja das mit dem Verzweifeln ist mir nicht unbekann ;)
gruß Ron
Hi,
das Problem ist glaub ich, dass der IE nicht den sichtbaren Bereich nimmt, sondern die Dokumentenhöhe, und die ist nur so groß wie der Inhalt. Eine Lösung weis ich leider auch nicht, wir haben damals das ganze einfach über die Bildschirmauflösung angenähert, das hat für unsere Zwecke gereicht.
Gruß,
Harlequin
Hi,
Harlekin hat mir nen guten Tipp gegeben mit nem Link...
Das Script wurde also von mir aktualisiert.
Das hat dann funktioniert.
Aber Dir auch noch mal Danke..
Gruß Ron
Ich lese per Javascript die Fensterhöhe aus und ändere daraufhin die Höhe einer Ebene:
function Fensterhoehe ()
{
if (window.innerHeight) {
return window.innerHeight;
}
else if (document.body && document.body.offsetHeight) {
return document.body.offsetHeight;
}
else {
return 0;
}
}
Vielleicht hilft das weiter:
http://www.quirksmode.org/viewport/compatibility.html
Struppi.
Hallo Harlequin,
Guter Link, hat geholfen ;)
Scheint wohl das der IE6 ne Extra-Behandlung verlangt...
Gruß Ron