Toon posts:

[javascript]firefox goed, ie slecht

Pagina: 1
Acties:

Verwijderd

Topicstarter
Voor mijn site schreef ik een zeer eenvoudig scriptje die de hoogte van mijn div's aanpast:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function resize()
{
    var screenheight;
    screenheight = document.documentElement.clientHeight;
    var leftspace;
    leftspace = document.getElementById("leftspace").style;
    var contentbox;
    contentbox = document.getElementById("contentbox").style;
    var content;
    content = document.getElementById("content").style;
    leftspace.height = screenheight - 170 + "px";
    contentbox.height = screenheight - 170 + "px";
    content.height = screenheight - 189 + "px";
}
window.onresize=resize;

Dit werkt perfect onder firefox echter IE 6.0 heeft er problemen mee. Invalid argument zegt hij en uiteraard heeft het script onder IE niet het juiste gedrag. De kwalijke regels zijn 11-13. Weet iemand wat er aan de hand zou kunnen zijn?

via
code:
1
<script type="text/javascript" src="scripts/screen.js"></script>

wordt de js-file ingeladen in mijn XHTML pagina. En de functie resize() wordt ook opgeroepen bij het laden van de body:
code:
1
<body onload="resize();">

Ik heb al vanalles gewijzigd en geprobeerd maar niets helpt er, wie weet raad?

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 15:25

crisp

Devver

Pixelated

IE in quirksmode of in standards-compliant mode?
en heb je al geprobeerd wat alerts te plaatsen?
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
function resize()
{
    var screenheight;
    screenheight = document.documentElement.clientHeight;
    alert(screenheight); // is dit wat je verwacht?

    var leftspace;
    leftspace = document.getElementById("leftspace").style;
    alert(leftspace); // is dit een geldige referentie?

    // etcetera
}

Intentionally left blank


Verwijderd

Topicstarter
crisp schreef op zondag 17 september 2006 @ 23:53:
IE in quirksmode of in standards-compliant mode?
You're my angel! IE stond in quirksmode. Maar waarom werkt dat script niet in quirksmode?

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 15:25

crisp

Devver

Pixelated

Verwijderd schreef op maandag 18 september 2006 @ 00:13:
[...]

You're my angel! IE stond in quirksmode. Maar waarom werkt dat script niet in quirksmode?
In quirksmode is de body de viewport en niet het documentElement (HTML-element).

Kwam zeker door een XML-declaratie? Tsja, waarom dan ook XHTML gebruiken als het niet noodzakelijk is en je IE wilt/moet ondersteunen...

[ Voor 19% gewijzigd door crisp op 18-09-2006 00:20 ]

Intentionally left blank


Verwijderd

Topicstarter
In quirksmode is de body de viewport en niet het documentElement (HTML-element).
Kan hier iets aan gedaan worden zodat de XML-declaratie kan blijven staan en het script toch kan gebruikt worden, of eventueel in alternatieve vorm (zelfde gedrag).
Kwam zeker door een XML-declaratie?
Het kwam inderdaad door mijn XML-declaratie.

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 15:25

crisp

Devver

Pixelated

Verwijderd schreef op maandag 18 september 2006 @ 00:46:
[...]

Kan hier iets aan gedaan worden zodat de XML-declaratie kan blijven staan en het script toch kan gebruikt worden, of eventueel in alternatieve vorm (zelfde gedrag).
why?
a) XML-declaratie is optioneel; de informatie die daarin staat dien je sowieso via HTTP headers op te geven. De compatibility guidelines in de XHTML rec. geven ook aan dat het beter is de XML declaration niet te gebruiken voor legacy browsers - hetgeen IE is.
b) IE7 zal niet in quirksmode springen door een XML declaratie, maar een IE in quirksmode wil je sowieso niet aangezien dat nog veel meer verschillen met zich meebrengt (o.a. boxmodel)
c) waarom persé XHTML? Waarschijnlijk maak je toch geen gebruik van features waar je XHTML voor nodig zou hebben en verstuur je het gewoon als text/html waardoor het door browsers gewoon als HTML gezien wordt (met een verkeerde DTD)

maar goed; een oplossing zou dit zijn:
JavaScript:
1
var screenheight = document.documentElement.clientHeight || document.body.clientHeight;

[ Voor 7% gewijzigd door crisp op 18-09-2006 00:56 ]

Intentionally left blank


Verwijderd

Topicstarter
c) waarom persé XHTML? Waarschijnlijk maak je toch geen gebruik van features waar je XHTML voor nodig zou hebben en verstuur je het gewoon als text/html waardoor het door browsers gewoon als HTML gezien wordt (met een verkeerde DTD)
Het moet mogelijk zijn om XACML (zie oasis standaard) te integreren in één van de pagina's.
maar goed; een oplossing zou dit zijn:
JavaScript:
1
var screenheight = document.documentElement.clientHeight || document.body.clientHeight;
Heel er bedankt!

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 15:25

crisp

Devver

Pixelated

Verwijderd schreef op maandag 18 september 2006 @ 01:06:
[...]

Het moet mogelijk zijn om XACML (zie oasis standaard) te integreren in één van de pagina's.
Maar dat gaat sowieso niet werken in IE omdat IE XHTML (HTML als XML-application) niet ondersteund.

Intentionally left blank


Verwijderd

Topicstarter
Maar dat gaat sowieso niet werken in IE omdat IE XHTML (HTML als XML-application) niet ondersteund.
Mja dat heb ik vernomen, maar 't is dan ook toekomstgericht. Gewoon voorziening die moet gebeuren naar later toe. Dat IE dat (nog) niet ondersteund is ons voorlopig geen zorg.
Maar bedankt voor je oplossing want ik mijn ervaring tot javascript beperkt zich quasie tot dit ene scriptje.

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 15:25

crisp

Devver

Pixelated

Verwijderd schreef op maandag 18 september 2006 @ 01:15:
[...]

Mja dat heb ik vernomen, maar 't is dan ook toekomstgericht. Gewoon voorziening die moet gebeuren naar later toe. Dat IE dat (nog) niet ondersteund is ons voorlopig geen zorg.
Maar bedankt voor je oplossing want ik mijn ervaring tot javascript beperkt zich quasie tot dit ene scriptje.
Ik zou er dan toch liever voor kiezen om (in ieder geval voor IE) geen XML-declaratie te gebruiken; zoals gezegd loop je met IE in quirksmode nog wel tegen meer verschillen aan.

Intentionally left blank

Pagina: 1