Avatar billede speder Nybegynder
29. november 2003 - 11:11 Der er 5 kommentarer og
1 løsning

Styring af pop-up vindue

Hej

Jeg har en lille interessant opgave for jer javascript-eksperten. Jeg har to browservinduer - lad os bare kalde dem "main" og "popup".

I "main" checker jeg hvert 30. sekund om der er kommet nye beskeder til den person er logget ind på websiden. Hvis der er nye beskeder popper der et vindue op "popup" med beskeden. Det er jo meget let at styre. Men hvis nu "popup" allerede er åben ønsker jeg ikke at det skal åbnes igen. Det skal så bare fokuseres. Igen det er jo meget let at styre med handlers. MEN hvad nu hvis "main" er reloadet i mellemtiden. Så kan jeg ikke længere bruge "popup".closed og kan således ikke undersøge om "popup" allerede er åben.

Hvordan løser man dette?

Takker.
Avatar billede o-zone Nybegynder
29. november 2003 - 12:43 #1
hmmm... en (måske ikke sindsygt fiks) måde at løse det på kunne være at lave et frameset bestående af en statisk side og din main, og så lade den statiske side poppe vinduer op og indeholde handles til de nye vinduer, og så nøjes med at reloade main i framesettet?
Avatar billede speder Nybegynder
29. november 2003 - 12:46 #2
Ja, det er selvfølgelig en mulighed. Den er desværre bare ikke realisabel i dette tilfælde fordi "main" er et portalprodukt (e107) som jeg ikke kan sætte i frames (og frames er heller ikke min favorit af 1000 forskellige årsager).

Jeg lader den stå lidt, men der er nok ingen løsning her.
Avatar billede roenving Novice
30. november 2003 - 13:03 #3
Hvis du angiver et window-name i åbningen af din popup, vil det blive genbrugt ...

Eksempelvis vil window.open('Karl.html','popWin') og window.open('Soeren.html','popWin') blive åbnet i samme vindue af den samme browser, uanset det kaldende vindues status !-)
Avatar billede speder Nybegynder
30. november 2003 - 22:14 #4
Det har jeg styr på, men problemet er at et såden kaldt altid vil reloade popup-vinduet, og jeg ønsker KUN at fokusere det, hvis det allerede er åbent.
Avatar billede roenving Novice
30. november 2003 - 22:41 #5
Hvis du ikke har et handle (som du jo ikke har, når siden er reloadet !-) kan du ikke fokusere ...

-- til gengæld er det vel sådan at "popup" alligevel skal have nyt indhold, for ellers er der vel ikke grund til at vise den ?-)
Avatar billede speder Nybegynder
05. december 2003 - 14:55 #6
Denne her er faktisk i stand til at checke om et pop-up vindue er åbent eller ej uanset om opener (eller popup) er refreshet/reloadet).

<html>
<head>
  <script language="javascript">
    function opentest() {
      strFeatures = "width=1,height=1,left=9999,top=9999";

      testwindow = window.open("", "TEST", strFeatures);

      if (testwindow.top.screenLeft >= 9999) {
        testwindow.close();
        alert("TEST window not open");
      }
      else {
        testwindow.focus();
        alert("TEST window open");
      }
    }

    function createtest() {
      strFeatures = "width=100,height=100,left=50,top=50";

      window.open("", "TEST", strFeatures);
    }
  </script>
</head>
<body>
  <button onclick="createtest();">CREATE a test window</button>
  <p>
  <button onclick="opentest();">TEST for window existing</button>
</body>
</html>
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