IE 7.0 und Fensterhöhe
steffen0815
- javascript
0 molily
0 steffen08150 Struppi
Hallo
vereinbare ich meine Seite "vernünftig mit:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
Funktioniert der Code aus http://de.selfhtml.org/javascript/beispiele/fensterueberwachen.htm
nicht mehr, die Fensterhöhe wird mit 0 angezeigt.
Weiß jemand die Ursache bzw. wie kann ich es vermeiden
Hallo,
vereinbare ich meine Seite "vernünftig mit:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
> Funktioniert der Code aus http://de.selfhtml.org/javascript/beispiele/fensterueberwachen.htm
> nicht mehr, die Fensterhöhe wird mit 0 angezeigt.
Das Script funktioniert so nur im Quirksmode. Es wird mit document.body.offsetHeight und document.body.offsetWidth gearbeitet. Im standardkonformen Modus sind diese Eigenschaften nicht sinnvoll gefüllt, wohl aber die Eigenschaften document.documentElement.offsetHeight und document.documentElement.offsetWidth (document.documentElement ist das html-Element statt dem body-Element). Siehe <http://www.quirksmode.org/viewport/compatibility.html>.
Mathias
Hallo Mathias,
also irgendwie schnall ich das nicht.
Auch nachfolgender Code funktioniert nicht mit IE7.0.
[code=html]<!-- DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd" -->
<html><head>
<title>Größenänderung überwachen</title>
<script type="text/javascript">
var x,y;
if (self.innerHeight) // all except Explorer
{
x = self.innerWidth;
y = self.innerHeight;
}
else if (document.documentElement && document.documentElement.clientHeight)
// Explorer 6 Strict Mode
{
x = document.documentElement.clientWidth;
y = document.documentElement.clientHeight;
}
else if (document.body) // other Explorers
{
x = document.body.clientWidth;
y = document.body.clientHeight;
}
document.write (x + ' x ' + y)
</script>
</body></html>[/code]
Auch nachfolgender Code funktioniert nicht mit IE7.0.
auch nicht im IE 6.
[code]<!-- DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd" -->
<html><head>
<title>Größenänderung überwachen</title>
<script type="text/javascript">
var x,y;
if (self.innerHeight) // all except Explorer
{
x = self.innerWidth;
y = self.innerHeight;
}
else if (document.documentElement && document.documentElement.clientHeight)
Du kannst auf keine Elemente zugreifen, die noch nicht zu Verfügung stehen. document.documentElement existiert erst nach dem vollständingen laden der Seite.
Struppi.