"Mikkel Z. Herold" <mikkel@[remove_this]mzh.dk> writes:
> Jeg har en side, hvor jeg kører en javascript-funktion ved onpageshow,
> onresize og onload - det foregår sådan her (i en ekstern js-fil):
>
> window.onpageshow = resizeLayout();
> window.onresize = resizeLayout();
> window.onload = resizeLayout();
Det der står her er at du kalder funktionen "resizeLayout" tre gange,
lige her, og tildeler returværdien til de tre egenskaber på "window".
Hvis resizeLayout er den funktion der skal kaldes ved, fx, en resize-
event, så er dette forkert. Så skal der stå:
window.onpageshow = resizeLayout;
window.onresize = resizeLayout;
window.onload = resizeLayout;
Hvis resizeLayout returnerer den funktion der skal kaldes, så er det
rigtigt. Jeg gætter, bl.a. ud fra navnet, at det er forkert.
> Men det giver en fejl i IE ("Ikke implementeret").
Antagelig fordi du forsøger at tildele en ikke-funktion til
window.onresize, som forventer en funktion.
> Jeg har læst mig til, at det er fordi IE ikke kan li' parenteserne,
Det er fordi parenteserne ikke skal være der. IE er bare en eneste
der giver en fejl ved det.
> så derfor har jeg lavet denne ikke særlig kønne udbygning:
>
> var browser=navigator.appName;
> if (browser=="Microsoft Internet Explorer"){
> window.onpageshow = resizeLayout();
> window.onresize = resizeLayout;
> window.onload = resizeLayout;
> } else {
> window.onpageshow = resizeLayout();
> window.onresize = resizeLayout();
> window.onload = resizeLayout();
> }
Ganske rigtigt ikke kønt.
> Bemærk, at parenteserne stadig er der ved funktionen på onpageshow -
> ellers skete der ikke en dyt i IE!
Da "onpageshow"-eventen ikke er understøttet af IE, så kan det ikke være
fordi det virker rigtigt.
> Til gengæld får jeg fejlen (Ikke
> implementeret) hvis jeg sætte parenteser på de to andre (onresize og
> onload).
Samme grund som ovenfor.
>
> Er det bare noget jeg må leve med, eller er der en kønnere løsning end
> den ovenfor?
Ja. Ingen parenteser. Det skulle virke. Siden vil blive resizet på onload,
med mindre senere kode overskriver window.onload.
/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL:
http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'