Avatar billede tipper Nybegynder
21. august 2001 - 08:04 Der er 9 kommentarer og
1 løsning

window.opener.....

OK, sagen er den at jeg har et parent window. Fra dette åbner jeg et popup vindue til søgning. Når jeg har søgt, bliver resultaterne præsenteret i popup vinduet. MEN når man klikke på et resultat skal de vises i parent (opener) vinduet.

1. Hvis parent vindue er åbent INGEN PROBLEMER.
2. Hvis parent vindue er lukket, vil jeg gerne åbne et nyt vindue.
3. Hvis man i parent vindue er surfet videre til et andet site, så for jeg en permission fejl.

Lav en funktion som kan ovenstående. Kun til IE...

Dette mine kære nørder er der 100 skarpe point for at løse. ;o)
Avatar billede roenving Novice
21. august 2001 - 08:46 #1
I header-sektionen (I popup-vinduet):

<script language=\"Javascript\">
var oldUrl = \"\";

function hentUrl(win) {
  return win.location.href;
}

function chkOpener() {
  if (opener) {
    if (hentUrl(opener) == oldUrl) return true;
    return false;
  }
  return false;
}

function putResultInWindow(url) {
  /*
    Bemærk, at jeg har sat pop-up\'en til at lukke
    Hvis du ikke ønsker dette, skal du udkommentere disse linjer:
    //top.close();
  */
  if (chkOpener) {
    opener.location.href = url;
    top.close();
  }
  else {
  window.open(url, \'ResultWindow\', \'width=300,heigth=400\'); //Ingen menu, scrollbars oma. - sæt det ind efter behov !
  top.close();
  }
}

</script>

I dit body-tagget:

<body ... onLoad=\"oldUrl=hentUrl(opener)\">

Dette skulle kunne gøre det (Jeg kan desværre ikke teste det her) -- men bemærk, at jeg kun har taget højde for nøjagtig den samme URL, hvis man har flyttet sig inden for sitet vil den også komme med et nyt vindue.

hth
jes
Avatar billede roenving Novice
21. august 2001 - 08:52 #2
Øeh ... for god ordens skyld :=)

<body ... onLoad=\"oldUrl=hentUrl(opener);\">

-- lige et semikolon til at afslutte javascript\'et

=;·]
Avatar billede astalavista Nybegynder
21. august 2001 - 08:59 #3
http://www.coolcity.f2s.com/eksperten/popup/start.html

kan laves nemt og overskuligt på denne side.

/A
Avatar billede jakoba Nybegynder
21. august 2001 - 10:53 #4
Hvad bør der ske istedetfor permission fejl hvis brugeren er surfet videre?

a) åbne et tredie vindue.
b) overtage opener vindue og bruge det (muligvis ikke muligt).
c) prompte bruger for action
d) ?

mvh JakobA
Avatar billede tipper Nybegynder
22. august 2001 - 13:25 #5
a eller b ville være fint
Avatar billede tipper Nybegynder
22. august 2001 - 13:53 #6
Roenving, den kode som du har lavet kommer aldrig ind i else sætningen hvor den åbner et nyt vindue i tilfælde af at opener er lukket.

Hvis du kan fikse denne lille bug er der 100 hurtige hjemme..! tak
Avatar billede roenving Novice
22. august 2001 - 15:03 #7
Jeg kan ikke lige efterprøve det, men prøv med:

function chkOpener() {
  if (!opener.closed) {
    if (hentUrl(opener) == oldUrl) return true;
    return false;
  }
  return false;
}
Avatar billede tipper Nybegynder
23. august 2001 - 07:50 #8
Dav roenving
kaldet af chkOpener var forkert manglede (), men nu kører det og det er bare dejligt!
Avatar billede roenving Novice
23. august 2001 - 09:50 #9
Uff da ...

og her rå-drillede jeg jakoba forleden for det samme ...

-- nå man kan trøste sig med, at man lærer mere (forhåbentlig) af ens egne fejl end af andres !-]
Avatar billede jakoba Nybegynder
23. august 2001 - 14:06 #10
He He.
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