29. november 2003 - 11:11Der 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.
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?
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.
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 !-)
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.
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>
Synes godt om
Ny brugerNybegynder
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.