Avatar billede melted Nybegynder
28. september 2006 - 16:11 Der er 1 kommentar

Poppe vindue hurtigere op?

I nedenstående script åbner jeg et nyt vindue med billede i, men synes vinduet er alt for lang tid om at åbne i IE i forhold til i Firefox hvor det kommer næsten med det samme. Det er meningen man skal kunne se en masse billeder, så man skal helst kunne åbne vinduerne hurtigt.

Er der nogen måde man kan få sådan et vindue til at åbne hurtigere, eller er IE bare for sløv så det er helt håbløst?

function popWin(file){
    var loadWinWidth=200;
    var loadWinHeight=100;
    var screenWidhtCen=(screen.width/2);
    var screenHeightCen=(screen.height/2);
    newWin=window.open("","Billede","width="+loadWinWidth+",height="+loadWinHeight+",status=no,scrollbars=yes,left="+(screenWidhtCen-loadWinWidth/2)+",top="+(screenHeightCen-loadWinHeight/2)+"");
    txt='<ht'+'ml><he'+'ad><ti'+'tle>Billede<\57ti'+'tle><scri';
    txt+='pt language="javascript" type="text/javascript">';
    txt+='function resPic(){var h=document.images[0].scrollHeight;';
    txt+='var w=document.images[0].scrollWidth;';
    txt+='document.getElementById("loading").style.display="none";';
    txt+='if (h>screen.height) {h=screen.height;'; //If pic higher than screen
    txt+='    window.moveTo( (screen.width/2) - (w/2),(screen.height/2) - (h/2) ); window.resizeTo(w+25,h-32); document.body.style.overflow="auto";}';
    txt+='else {';
    txt+='    ';
    txt+='    window.moveTo( (screen.width/2) - (w/2),(screen.height/2) - (h/2) ); window.resizeTo(w+6,h+32); document.body.style.overflow="hidden";';
    txt+='}}<\57scri';
    txt+='pt><\57he'+'ad><bo'+'dy scroll="auto" bgcolor="#3b4b5b" style="overflow:hidden;';
    txt+='border:0px;margin:0px"><d'+'iv id="loading" style="display:block;font-size:11px;font-family:Verdana, Arial, Helvetica, sans-serif; color:#FFFFFF;"><br>&nbsp;Henter billede...<\57d'+'iv><d'+'iv align="center"><i'+'mg src="'+file+'" style="top:0px;left:0px;border:0px;cursor:hand;cursor:pointer;"';
    txt+=' alt="Klik for at lukke vinduet" title="Klik for at lukke vinduet"';
    txt+=' onclick="window.close()" onload="resPic();"><\57d'+'iv><\57bo'+'dy><\57ht'+'ml>';
    newWin.document.write(txt);
    newWin.document.close();
}
Avatar billede dj_uncas Nybegynder
28. september 2006 - 18:55 #1
Jeg ved det ikke med sikkerhed, men det er muligt at det går stærkere hvis du ikke skriver HTML'en direkte i window.open() funktionen, men laver en selvstændig side og bruger den:

var newWin = window.open( "minside.html", ekstra attributter... );
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester