Avatar billede elnino Nybegynder
16. juli 2001 - 12:20 Der er 23 kommentarer og
2 løsninger

popup vindue fra et popupvindue

Jeg ahr lavet et site i flash hvor jeg kalder nogel javascript kommandoer. Siden starter med at åbne et popup vindue i en bestemt størelse so er selve sitet. Senere skal den poppe et andet vindue up - fra vinduet der allerede er poppet op. Problemet er at det bliver ved med at smide mit site ud og åbne sig selv i det samme vindue - altså der hvor mit site skal væere

min kode i toppen af html\'en:

<SCRIPT LANGUAGE=\"JavaScript\"> var javascript_version = 1.0;</SCRIPT>
<SCRIPT LANGUAGE=\"JavaScript1.1\">  javascript_version = 1.1;</SCRIPT>


<SCRIPT LANGUAGE=\"JavaScript\">

var newwin;

function launchwin(winurl,winname,winfeatures)
{
    //This launches a new window and then
    //focuses it if window.focus() is supported.
    newwin = window.open(winurl,winname,winfeatures);
    if(javascript_version > 1.0)
    {
        //delay a bit here because IE4 encounters errors
        //when trying to focus a recently opened window
        setTimeout(\'newwin.focus();\',250);
    }
}
</SCRIPT>



Min kode i flash:

on(press){

getURL (\"java script:launchwin(\'kort.htm\', \'newwindow\', \'height=400,width=294\')\");
}

Det virker første gang, men når der skal poppe eyt op fra selve popupet, gør den det i samme vindue. Er der nogen der kan hjølpe?
Avatar billede jakoba Nybegynder
16. juli 2001 - 12:35 #1
når du siger
  window.open( ... )
refrerer  \"window\"  til den side scriptet står i.
for at få popoppen til at åbne \"fra det vindue jeg åbnede før\" skal du adressere dig over i det vindue først. fx bruge:
  window.newwin.open( ... )

mvh JakobA
Avatar billede jakoba Nybegynder
16. juli 2001 - 12:37 #2
tilføjelse:
  og passe på at vinduesnavnet ( 2\'den parameter ( \'newwindow\' ) ) ikke er det samme som du brugte til at åbne det første vindue. hvert vindue du åbner skal have sit egen forskellige navn.
Avatar billede clevzter Nybegynder
16. juli 2001 - 12:39 #3
du har kaldt dit vindue for winname, det nye skal bare hedde noget andet
Avatar billede clevzter Nybegynder
16. juli 2001 - 12:39 #4
undskyld, du har kaldt det newwindow
Avatar billede clevzter Nybegynder
16. juli 2001 - 13:05 #5
> jakoba

Har han brændt os af?
Avatar billede elnino Nybegynder
16. juli 2001 - 13:07 #6
Nu er jeg ikke så god til java script. Jeg den kode i begge mine vinduere hvor der skal poope noget op. Skal jeg stadig gøre som du sagde og ændre
window.open( ... )
til
window.newwin.open( ... )

og ændre navnet newwin til f.eks newwin2

Elnino
Avatar billede clevzter Nybegynder
16. juli 2001 - 13:09 #7
du kan nøjes med at ændre navnet newwindow til ja f.eks. newwin2
Avatar billede clevzter Nybegynder
16. juli 2001 - 13:09 #8
window.open(...) er fint at bruge flere gange
Avatar billede clevzter Nybegynder
16. juli 2001 - 13:12 #9
eller som du havde gjort: java script:launchwin
Avatar billede jakoba Nybegynder
16. juli 2001 - 13:17 #10
næe. hvis koden står i filen i det vindue der skal åbnes fra behøver du blot at sige    window.open( ... )

det vinduesnavn der skal være forskelligt er nr 2 parameter i kaldet til open:
    open( vinduesurl, vinduesnavn, vinduesfeatures )

skriv fx koden i de ene vindue som:

<SCRIPT LANGUAGE=\"JavaScript\">

var newwin;

function launchwin(winurl,winname,winfeatures)
{
    //This launches a new window and then focuses it if window.focus() is supported.
    newwin = window.open(winurl, \"et_andet_navn\" ,winfeatures);
    if(javascript_version > 1.0)
    {
        //delay a bit here because IE4 encounters errors when trying to focus a recently opened window
        setTimeout(\'newwin.focus();\',250);
    }
}
</SCRIPT>

men lad nu være med at lave den ændring i begge filerne for så har vinduerne jo samme navn igen :-)

variabelnavnet \"newwin\" behøver du ikke at ændre.

mvh JakobA
Avatar billede clevzter Nybegynder
16. juli 2001 - 13:17 #11
lige præcis! det er det jeg siger
Avatar billede clevzter Nybegynder
16. juli 2001 - 13:23 #12
men, du skal ændre navnet i linket (newwindow) til noget andet
Avatar billede clevzter Nybegynder
16. juli 2001 - 13:25 #13
(\"java script:launchwin(\'kort.htm\', \'newwindow\'...
ændres til
(\"java script:launchwin(\'kort.htm\', \'newwindow2\'...
Avatar billede clevzter Nybegynder
16. juli 2001 - 13:28 #14
det er alt, du behøver ændre!
Avatar billede elnino Nybegynder
16. juli 2001 - 13:44 #15
Tak for hjælpen, det virker nu. Men lige på falderebet, er der en måde at bruge den der onfocus() på så det vinduet altid er på toppen selv om man kan bruge det der ligger bag i....?
Avatar billede clevzter Nybegynder
16. juli 2001 - 13:45 #16
onfocus=\"this.blur()\"
Avatar billede elnino Nybegynder
16. juli 2001 - 13:47 #17
Øhhh...HVor skriver jeg det henne?
Avatar billede clevzter Nybegynder
16. juli 2001 - 13:50 #18
lige efter linket tror jeg
Avatar billede elnino Nybegynder
16. juli 2001 - 14:01 #19
Inde i flash?
Avatar billede clevzter Nybegynder
16. juli 2001 - 14:05 #20
kender ikke flash så godt, men der hvor du skrev getURL (\"java script:launchwin(\'kort.htm\', \'newwindow\', \'height=400,width=294\')\"); kan du vist sætte det ind efter
Avatar billede clevzter Nybegynder
16. juli 2001 - 14:12 #21
virker det?
Avatar billede jakoba Nybegynder
16. juli 2001 - 14:15 #22
hvis du vil have et vindue til altid at ligge øverst skald du tilføje  onblur=\"this.focus();\" i <body kommandoen:

<body ... onblur=\"this.focus();\">

men pas på med det. det virker næppe helt som du forventer.
du kan fx stadig klikke på links i vinduet nedenunder.
men du kan umuligt skrive noget i et formfelt der.

så test grundigt før du bruger det.

der skulle da være en <body kommando i filen \"kort.htm\" du kan sætte det ind i.

mvh JakobA
Avatar billede elnino Nybegynder
16. juli 2001 - 14:33 #23
Mange tak for hjælpen - så funger det!
Jeg har delt pointene op mellem jer ;-)
Avatar billede clevzter Nybegynder
16. juli 2001 - 14:43 #24
tak!
Avatar billede jakoba Nybegynder
16. juli 2001 - 14:58 #25
:-)
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