Avatar billede dellepude Nybegynder
26. august 2003 - 05:02 Der er 12 kommentarer og
1 løsning

detect window

Jeg har en side, der åbner en popup pr. automatik. Siden reloades hvert 30. sek og popuppen følger så trop.

Jeg skal i stedet have popuppen til kun at loades hvis den ikke i forvejen er åben og ellers skal den bare hentes i fokus.

Jeg skal altså bruge en syntax, der undersøger hvorvidt et navngivet vidue eksisterer!

Jeg har forsøgt med 'if (newWin), men det giver fejl første gang siden skal loades, da newWin jo ikke eksisterer endnu...
Avatar billede anhansen Nybegynder
26. august 2003 - 08:06 #1
Jeg mener det kan gøres sådan her.
Du laver først et "popup objekt"

var popupObj = window.createPopup();

Dette bliver ikke vist før du kalder :
popupObj.show(yOffset, xOffset, width, height, referenceObj)

hvor x og yoffset er hvor det er placeret, width og height er størrelsen, og refobj kan være et object som gør at x og y offset bliver relativt til det istedet for skærmens øverste venstre hjørne.
Avatar billede mm12010 Nybegynder
26. august 2003 - 08:55 #2
if(newWin.closed){
  newWin.open();
  }
else{
  newWin.focus();
  }
Avatar billede dellepude Nybegynder
26. august 2003 - 11:06 #3
Til anhansen: Jeg tror du misforstår mig - jeg har allerede et popup objekt (newWin) åbnet af hovedsiden. Når hovedsiden så reloades, skal det undersøges for om popup objektet stadig er tilstede.
Til mm12010: Umiddelbart ser det rigtigt ud, men der sker ingenting! Det er som om newWin hverken er closed eller ej - jeg har forsøgt mig med følgede tjeks for at se hvordan funktionen opfører sig og den første alert dukker op som den skal, men hverken den ene eller den anden i if...else dukker op - siden melder dog ikke om nogen fejl!

function recallpops([div dynamiske parametre]){
    alert('TJEK');
    if (newWin.closed){
        alert('BINGO');
        newWin = window.open([div statiske og dynamiske parametre]);
    }
    else{
        alert('NITTE');
        newWin.focus();   
    }
}
Avatar billede mm12010 Nybegynder
26. august 2003 - 11:16 #4
Avatar billede dellepude Nybegynder
26. august 2003 - 12:57 #5
Hrm - virker stadig ikke. Har erfaret andetsteds, at det ikke kan lade sig gøre, da scriptet, der har åbnet popuppen unloader med hovedsiden og references til popuppen objektet derfor forsvinder. Hvis nogen kan modargumentere denne tese er jeg varm for forslag, ellers må jeg jo nok prøve en helt anden vinkel...
Avatar billede roenving Novice
26. august 2003 - 13:03 #6
Hvis du prøver at åbne en popup med et navn som findes i et vindue vil den da bare gå ind i det samme vindue !-)

Jeg benytter faktisk taktikken til de fast opdaterede vinduer jeg har åbnet ...

Eksperten-vinduet bliver genåbnet hvert minut, ebruger hvert 10. minut, mail-boksen derimellem osv.

Der kommer ikke focus på dem, men det kan man jo sætte ind som en onload-ting, når man selv kontrollerer koden ...
Avatar billede dellepude Nybegynder
26. august 2003 - 13:13 #7
Jae det har du jo principielt ret i, men her er det vist vigtigt at skelne mellem navnet på vinduet (2. parameter i window.open() ) og et evt. navn på det dertilhørende objekt som fremkommer ved at at sætte en variabel til at være lig med window.open() - førstnævnte er mig bekendt popuppen iboende mens sidstnævnte er parent vinduets direkte reference til popuppen. Hvis man fra et vilkårligt vindue (i dette tilfælde den reloadede version af hovedvinduet) kan spørge på et navn på et specifikt vidue, få en returværdi for om det eksisterer eller ej og derefter sætte det i fokus baseret på navnet alene vil jeg meget gerne vide det!
Avatar billede roenving Novice
26. august 2003 - 13:18 #8
-- og det har du helt ret i, at man ikke kan !-)

-- men man kan jo gemme det i noget, som ikke reloader !-)

-- eksemplet kunne være et frameset-dokument, som ikke selv reloader ...
Avatar billede dellepude Nybegynder
26. august 2003 - 13:24 #9
Jae den har jeg hørt før - bortset fra at jeg pt. har et efterhånden ret kompliceret site UDEN frames, der er belvet fuldstændigt revideret i løbet af det sidste års tid, såe det bliver nok ikke lige frames, der bliver introduceret i nærmeste fremtid :) Jeg har forslag fra anden side om at prøve med en iframe i hovedvinduet til at få opdateret de oplysninger der skal opdateres samt et om at arbejde med en cookie der skrives og slettes når popuppen henholdsvis loades og unloades og så tjekke nævnte cookie når hovedviduet loades og handle derefter.
Avatar billede anhansen Nybegynder
12. oktober 2003 - 15:48 #10
Har du fundet ud af noget... Er der nogle der skal ha point eller skal der bare lukkes?
Avatar billede dellepude Nybegynder
20. oktober 2003 - 14:07 #11
Undskyld den lange ventetid! Jeg har ikke selv fundet ud af noget og ingen af svarene har vist sig brugbare. Det tegner til, at jeg må angribe problemet fra en helt anden vinkel, hvilket jeg så er igang med.
Avatar billede anhansen Nybegynder
20. oktober 2003 - 14:37 #12
Lægger du ikke lige selv et svar, og accepterer det, så vi kan få tråden lukket..
Avatar billede dellepude Nybegynder
21. oktober 2003 - 00:21 #13
Joe, det kan jeg da godt...
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