Avatar billede theselfimages Nybegynder
08. februar 2003 - 01:11 Der er 16 kommentarer og
1 løsning

Fejl på onLoad funktion?

Hvordan kan det være at jeg i nogen gange tilfældigt får fejl på min default.htm side, der åbner et Popup vindue ved onload, sådan her:

<body scroll="no" bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" onload="PopupWindow('home.htm','PictureViewer','790','420','no'); return false;">
Avatar billede pelkjaer Nybegynder
08. februar 2003 - 11:47 #1
Hvordan ser funktionen PopUpWindow ud?
Avatar billede theselfimages Nybegynder
08. februar 2003 - 11:50 #2
Sådan her:

<script language="JavaScript">
<!-- Begin
function PopupWindow(mypage, myname, w, h, scroll) {
var winl = (screen.width - w) / 2 - 12; //Tallet er antal ekstra pixels til venstre!
var wint = (screen.height - h) / 2;
winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+''
win = window.open(mypage, myname, winprops+',toolbar=no');
if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}
//  End -->
</script>
Avatar billede pelkjaer Nybegynder
08. februar 2003 - 11:56 #3
I don't know - funktionen ser ikke ud til at fejle noget.
Avatar billede theselfimages Nybegynder
08. februar 2003 - 12:02 #4
Nææh! jeg syntes også det er mærkeligt. Jeg bruger flere andre scripts på siden. Kan det ha' noget at hvilken rækkefølge de ligger? Forstået på den måde at popup scriptet ikke når at blive læst før onLoad funktionen udføres?

I det hele taget er det måske kun 1 ud af 20 gange (+/-) - at den laver fejlen.
Avatar billede pelkjaer Nybegynder
08. februar 2003 - 12:04 #5
Tror jeg ikke - men du kunne evt. sætte en setTimeOut på for at prøve.
Avatar billede theselfimages Nybegynder
08. februar 2003 - 12:10 #6
Hvordan det?
Avatar billede pelkjaer Nybegynder
08. februar 2003 - 12:35 #7
Hvis nu du gør sådan her, så er vi sikre på at funktionen er læst

function PopupWindow(mypage, myname, w, h, scroll) {
var winl = (screen.width - w) / 2 - 12; //Tallet er antal ekstra pixels til venstre!
var wint = (screen.height - h) / 2;
winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+''
win = window.open(mypage, myname, winprops+',toolbar=no');
if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}

function beforeLoadHandler() {
  PopupWindow('ee.html','PictureViewer','400','400','no');
}

function loadHandler(a){
if(a==1){onload=beforeLoadHandler;}
}

loadHandler(1);
Avatar billede pelkjaer Nybegynder
08. februar 2003 - 12:37 #8
En setTimeOut kører du blot således

setTimeout("dinFunktion()",3000); //Delay er 3 sekunder
Avatar billede theselfimages Nybegynder
08. februar 2003 - 12:39 #9
Men hvor sætter jeg den timeout! Sorry!
Avatar billede pelkjaer Nybegynder
08. februar 2003 - 12:40 #10
På onload fx.

Men du behøver den ikke med ovenstående loadhandler.
Avatar billede olebole Juniormester
08. februar 2003 - 16:51 #11
<ole>

Hvad siger din 'tilfældige' fejl? I hvilken linie opstår fejlen?
Fejlen kan ligge mange steder - men den ligger ikke i funktionen her

/mvh
</bole>
Avatar billede theselfimages Nybegynder
08. februar 2003 - 17:01 #12
Hmm.. ved det faktisk ikke. Jeg kan ikke fremprovokere den. Men vil selvfølgelig poste den her, hvis det opstår igen.

Du mener altså ikke at Pelkjaer's indlæg vil gøre nogen forskel?
Avatar billede theselfimages Nybegynder
08. februar 2003 - 19:04 #13
Hvad er der så galt her?

<script language="JavaScript">
<!-- Begin
function PopupWindow(mypage, myname, w, h, scroll) {
var winl = (screen.width - w) / 2 - 12; //Tallet er antal ekstra pixels til venstre!
var wint = (screen.height - h) / 2;
winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+''
win = window.open(mypage, myname, winprops+',toolbar=no');
if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}

function activate() {
  PopupWindow('home.htm','PictureViewer','790','420','no');
}
//  End -->
</script>


<body scroll="no" bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" onload="setTimeout("activate()",5000);">
Avatar billede theselfimages Nybegynder
08. februar 2003 - 19:08 #14
Er denne nødvendig? return false;">

Det beskrevne problem (mit oprindelige spørgsmål) viser sig især på MAC. Der meldes ikke fejl. Men siden popper ved onload et blankt vindue op. Først når vinduet manuelt lukkes og linket på det bagvedliggene vindue/side klikkes til manuelt at poppe vinduet, da virker det. Popup vindue kommer frem og indholdet af siden kan ses i vinduet.
Avatar billede olebole Juniormester
08. februar 2003 - 22:56 #15
'return false' er helt unødvendig i denne sammenhæng.

Det lyder mærkeligt med den fejl ... meget mærkeligt  :)
/mvh
Avatar billede theselfimages Nybegynder
09. februar 2003 - 16:00 #16
Pelkjaer => Fik det til at virke.
Du kan poste et svar.
Avatar billede pelkjaer Nybegynder
09. februar 2003 - 16:02 #17
ok :)
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