Avatar billede iphase Nybegynder
10. januar 2003 - 13:06 Der er 7 kommentarer og
1 løsning

popup skal blive

Hej

I forlængelse at http://www.eksperten.dk/spm/303317 vil jeg gerne have at min popup ikke forsvinder når siden der har genereret den reloades.

her er min kode lige nu:

<?php

if(session_is_registered("uid") && session_is_registered("name")) {
   
    $connection = mssql_connect("localhost","xxx","xxx") or die("CONNECT ERROR");
    $db = mssql_select_db("web", $connection) or die ("DB SELECT ERROR");

    $sql = "SELECT * FROM REQUESTS ORDER BY id DESC";
    $sql_result = mssql_query($sql,$connection) or die ("QUERY failed.");
    $num = mssql_num_rows($sql_result);
    $id = mssql_fetch_row($sql_result);
   
    if($c){
        if($c==$num){
        }else{
?>
            <HTML>
            <HEAD>
   
            <SCRIPT LANGUAGE='JScript'>
            var oPopup = window.createPopup();
            function popup()
            {
                var oPopBody = oPopup.document.body;
                oPopBody.style.filter='progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr=#0066CC, EndColorStr=#FFFFFF)';
                oPopBody.style.border = 'solid black 1px';
                oPopBody.innerHTML = "<br><center><b><font face=verdana size=1 color=white>A new support request has been made!</font></b><br><span onclick=\"window.top.main.location.href='http://support.mek.dtu.dk/registration/details.php?id=<?php print("$id[0]"); ?>';\"  style='color: #0066BB; text-decoration:none; font-size:12px; cursor:hand'>[Show new request]</span></center>";
                oPopup.show(200, 200, 300, 65);
            }
            </SCRIPT>
            </HEAD>
            <BODY onload='popup()'>
            </BODY>
            </HTML>
<?php
        }
    }

    echo ("
        <script language=\"JavaScript\">
        <!--
        function redirect()
        {
          window.location = \"check.php?c=$num\"
        }

        setTimeout(\"redirect();\", 50000)
        // -->
                </script>

    ");

    mssql_free_result($sql_result);
    exit;
}else{

    echo ("not logged in");
    echo ("
        <script language=\"JavaScript\">

        <!--
        function redirect()
        {
          window.location = \"check.php\"
        }
       
        setTimeout(\"redirect();\", 50000)
        // -->
                </script>
    ");

}

?>
Avatar billede dgivoni Nybegynder
10. januar 2003 - 13:32 #1
hvis du saetter flg. ind i dit popupvindue, saa vil det altid vaere forrest indtil du lukker det:
<BODY onBlur="window.focus()">
Avatar billede iphase Nybegynder
10. januar 2003 - 15:01 #2
virker ikke.. alt går i stå efterfølgende.
well det er fyraften.. ses
Avatar billede iphase Nybegynder
10. januar 2003 - 15:02 #3
lukker
Avatar billede iphase Nybegynder
10. januar 2003 - 15:05 #4
Hmm.. kan ikke få lov at lukke..
Avatar billede dgivoni Nybegynder
10. januar 2003 - 15:38 #5
hvis det ikke virker, saa er det givetvis fordi du har lavet noget forkert i din kode. For loesningen er sgu efterproevet, og hvis du tager en soegning paa google, er det det som alle andre ogsaa foreslaar...
Saa hvis du vil have svar paa dine spoergsmaal, saa giv ogsaa lidt tid til at tilpasse dem eller forklare dem, hvis det ikke virker umiddelbart.
Avatar billede olebole Juniormester
11. januar 2003 - 02:30 #6
<ole>

dgivoni >> Fint, du prøver at svare, men det er svært, hvis ikke du læser koden, eller ikke kan forstå den. Det må du ikke laste iphase for.
Der er ikke tale om et JavaScript popUp-vindue, men et JScript popup-objekt  ;o)

iphase >> Der er to muligheder:
1. Du sætter en cookie på klienten, når popup'en åbnes. Lige efter stedet, hvor du definerer din popup-funktion, checker du for kagen og kalder funktionen, hvis popup'en skal være åben.
Når linket klikkes, slettes kagen.
Samtidig skal der på onbeforeunload-event'en checkes for, om popup'en er åben (i dokumentet, der åbner den) med:
  onbeforeunload="if( !oPopup.isOpen ) { // Slet cookie };"
Derved sletter du cookien, hvis brugeren har fjernet popup'en.

2. Du kan gøre det samme ved at sætte en variabel i framesettet og teste på den. Det her fordelen, at det også virker hos brugere, der har slået cookies fra. Den løsning, jeg ville vælge - giver også meget slankere kode  :)

Hvis det er for uoverskueligt, sender jeg dig gerne et lille eksempel.
/mvh
</bole>
Avatar billede dgivoni Nybegynder
11. januar 2003 - 07:00 #7
olebole>> du har ret. Jeg kendte ikke popup-objektet foer og gik ud fra at det ville reagere på onblur som et 'normalt' popup-vindue. Men hans kommentar efterfølgende viser jo heller ikke at han er klar over hvad problemet er. Det er det jeg synes er lidt frustrerende, vi kunne måske have fundet ud af det sammen, men bare at lukke efter en kommentar om at det ikke virker og alt går i stå...
Nå, men jeg har brugt anledningen til at sætte mig lidt ind i det, så jeg har da fået noget ud af det selv :-)
Avatar billede dgivoni Nybegynder
11. januar 2003 - 07:00 #8
havde du i øvrigt ikke forladt eksperten, for good?
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