Avatar billede kalleballe Nybegynder
24. april 2002 - 15:23 Der er 2 kommentarer og
1 løsning

Fange navnet på POPUP vindue SVÆR!!!!!

Jeg har et link  på en html side der åbner et popup med en flashfilm hvor man kan trække i forskellige håndtag der giver forskellige kombinationer af produkter.

Hvis jeg vil vide mere om et af disse produkter kan jeg klikke på et link som så sender mig hen til dette produkt i den html side der åbnede popuppen.

Samtidigt med dette lægger popuppen sig bag ved html siden.

På den html side med nærmere beskrivelse af produktet er der et link til popuppen med flashfilen.


Hvis jeg klikker på dette link efter at være nået frem til siden på ovenstående måde skal popuppen med flashen i fokus og altså med de indstillinger man har foretaget inden man har klikket på et produktlink.

Hvis jeg klikker på linket ved bare at være gået direkte ind til denne html side, - altså hvis jeg har fundet siden direkte, så skal flash popuppen starte fra starten.

Her kommer lidt kode:

Denne function åbnes fra html siden der skal åbne popuppen: (alle funktionerne ligger i style detection scriptet så jeg kan være sikker på at det er på alle siderne!)

function aabnVindue(){ // opens up a window with html file called index8.html containing the main flash movie

setCookie(); // Her sætter vi en cookie for at markere at vi har åbnet et vindue, - jeg vil nemlig sikre at der kun kan åbnes et popupvindue.

nytVindue=window.open('/js/index8.html','myWin','width=680,height=340');
       
}

function setCookie(){
// her sætter jeg cookien 'kage=ok' og sætter den til at virke så længe vi er på den rigtige path og domaine.

var the_cookie= "kage=ok;path=/;domain="+document.domain+";";
document.cookie = the_cookie;
}

Her er den funktion der bliver kaldt hvis jeg klikker på linket i siden med den nærmere produktbeskrivelse.
   
function popups(){ // Her ser jeg så om cookien er sat, - hvis den er sat er der altså allerede et popup vindue (!=-1) og så skal vi bare have den popup i focus OG DET ER HER PROBLEMET ER!!!! JEG KAN IKKE FANGE NAVNET PÅ POPUP VINDUET!!

if(document.cookie.indexOf('kage=ok')!=-1){

POPUP_MED_FLASH.focus();
   
    } else {
   
aabnVindue(); // Da cookien ikke er sat er det altså første gang jeg beder om en popup og derfor åbner jeg en helt ny som kører fra starten.
                   
}

}


Jeg er godt klar over at popup vinduet hedder 'nytVindue' men hvis jeg skriver nytVindue.focus få jeg en god gang 'undefined'.

Altså er der nogen metode til at fange navnet hvad der måtte være af popup vinduer i baggrunden når man sidder med en anden html side (Denne side er endvidere 'main' side i et framesæt med 4 frames!!!)


Mange venlige hilsner

KalleBalle
Avatar billede jakoba Nybegynder
24. april 2002 - 15:34 #1
if ( nytVindue.focus ) {
    // nytVindue er et objekt der indeholder en
    // funktion eller variabel ved navn focus
    nytVindue.focus();  //
} else {
    // vinduet er nok blevet lukket
    nytVindue = window.open(...);
}

værre er det ikke :-)

mvh JakobA
Avatar billede jakoba Nybegynder
24. april 2002 - 15:37 #2
udvid evt med en test om der overhovedet er en variabel med det navn:

if ( nytVindue && nytVindue.focus ) {
    // nytVindue er et objekt der indeholder en
    // funktion eller variabel ved navn focus
    nytVindue.focus();  //
} else {
    // vinduet er lukket eller aldrig åbnet
    window.nytVindue = window.open(...);
}
Avatar billede kalleballe Nybegynder
29. september 2004 - 10:02 #3
lukker
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