Avatar billede Slettet bruger
09. oktober 2001 - 16:22 Der er 21 kommentarer og
2 løsninger

Tidsstyret pop up

Jeg vil gerne have en side med et automatisk pop up som kun skal åbne automatisk mellem 2 tidspunkter.

De to tidspunkter skal være med DD/MM/YYYY HH:MM

Det har drillet mig lidt med at lave body onload da Frontpage tiltider er rimelig åndsvag.
Avatar billede jakoba Nybegynder
09. oktober 2001 - 16:40 #1
i head:
<script language=\'javascript\'>

var ikkeFoer = \"24/12/2001 20:00\";    // fra tidspunkt
var ikkeEfter = \"31/01/2001 23:59\";  // til tidspunkt.

function lavTid( str ) {
    var aar    = parseInt( str.substring( 6,10), 10 );
    var maaned = parseInt( str.substring( 3, 5), 10 );
    var dag    = parseInt( str.substring( 0, 2), 10 );
    var time  = parseInt( str.substring(11,13), 10 );
    var minut  = parseInt( str.substring(14,16), 10 );
    var tmp = new Date( aar, maaned-1, dag, time, minut, 0 );
    return tmp.valueOf();
}; //end lavTid( string ) -> number

var nu = new Date();
if ( nu.valueOf() > lavTid( ikkeFoer ) &&
      nu.valueOf() < lavTid( ikkeEfter ) {
    window.open( \'popopfil.html\', \'popnavn\' );
};

</script>

mvh JakobA
Avatar billede Slettet bruger
09. oktober 2001 - 16:53 #2
jeg får en fejl at følgende tegn er ventet \')\' i linie 31 og linie 31 for jeg til at være

if ( nu.valueOf() > lavTid( ikkeFoer ) &&
Avatar billede z42cool Nybegynder
09. oktober 2001 - 16:55 #3
<html>
<head>
<script language=\"JavaScript\">
    function dkDateToUTC(dStr) {
        var re = /([0-2][0-9]|3[01])\\/(0[0-9]|1[012])\\/([0-9]{4}) ([01][0-9]|2[0-3]):([0-5][0-9])/ig;
        if (re.test(dStr)) {
            return Date.UTC(RegExp.$3, RegExp.$2-1, RegExp.$1, RegExp.$4, RegExp.$5);
        } else return null;
    }
   
    function myTimerFunc(startDate, endDate) {
        var sd = dkDateToUTC(startDate);
        var ed = dkDateToUTC(endDate);
        var td = new Date();
        td = new Date();
        alert(td.valueOf());
        if (td>sd && td<ed) {
            //Do the stuff
            alert(\"Hello world!\");
        }
    }
</script>

</head>

<body onload=\"myTimerFunc(\'01/09/2001 12:00\', \'09/10/2001 20:00\');\">
</body>

</html>
Avatar billede z42cool Nybegynder
09. oktober 2001 - 16:56 #4
Der mangler et )
if ( nu.valueOf() > lavTid( ikkeFoer )) &&
Avatar billede z42cool Nybegynder
09. oktober 2001 - 16:57 #5
Jakoba>> Er
var tmp = new Date( aar, maaned-1, dag, time, minut, 0 );
ikke unødvendig, hvorfor ikke kalde Date.UTC() direkte???
Avatar billede Slettet bruger
09. oktober 2001 - 17:06 #6
med z42cool for jeg bare en alert med dette nummer 1002640004700
Avatar billede Slettet bruger
09. oktober 2001 - 17:06 #7
med jakoba for jeg en syntaks fejl når jeg har lavet rettelsen som z42cool har givet
Avatar billede z42cool Nybegynder
09. oktober 2001 - 17:14 #8
He-he.... Du skal fjerne linien i myTimerFunc hvor der står....

alert(td.valueOf());

Og så skal du indsætte det kode du har behov for til dit popup vindue, det bliver sådan her...

<html>
<head>
<script language=\"JavaScript\">
    function dkDateToUTC(dStr) {
        var re = /([0-2][0-9]|3[01])\\/(0[0-9]|1[012])\\/([0-9]{4}) ([01][0-9]|2[0-3]):([0-5][0-9])/ig;
        if (re.test(dStr)) {
            return Date.UTC(RegExp.$3, RegExp.$2-1, RegExp.$1, RegExp.$4, RegExp.$5);
        } else return null;
    }
   
    function myTimerFunc(startDate, endDate) {
        var sd = dkDateToUTC(startDate);
        var ed = dkDateToUTC(endDate);
        var td = new Date();
        td = new Date();
        if (td>sd && td<ed) {
            //Do the stuff
            open(\"www.jubii.dk\", \"\", \"\");
}
    }
</script>

</head>

<body onload=\"myTimerFunc(\'01/09/2001 12:00\', \'09/10/2001 20:00\');\">
</body>

</html>
Avatar billede z42cool Nybegynder
09. oktober 2001 - 17:16 #9
Ups..... Rettelse.... Sådan her - sorry :-)

<html>
<head>
<script language=\"JavaScript\">
    function dkDateToUTC(dStr) {
        var re = /([0-2][0-9]|3[01])\\/(0[0-9]|1[012])\\/([0-9]{4}) ([01][0-9]|2[0-3]):([0-5][0-9])/ig;
        if (re.test(dStr)) {
            return Date.UTC(RegExp.$3, RegExp.$2-1, RegExp.$1, RegExp.$4, RegExp.$5);
        } else return null;
    }
   
    function myTimerFunc(startDate, endDate) {
        var sd = dkDateToUTC(startDate);
        var ed = dkDateToUTC(endDate);
        var td = new Date();
        td = new Date();
        td = td.valueOf();
        if (td>sd && td<ed) {
            //Do the stuff
            open(\"http://www.jubii.dk\", \"\", \"\");
}
    }
</script>

</head>

<body onload=\"myTimerFunc(\'01/09/2001 12:00\', \'09/10/2001 20:00\');\">
</body>

</html> 
Avatar billede Slettet bruger
09. oktober 2001 - 17:24 #10
ok z42cool det lader til at virke, men et problem.
popup åbner ikke den valgte side i ritig størrelse bredden er ok men højden er helt forkert.

window.open( \"http://dr.dk/nav/netplayer/player.asp?station=1\", \"popup\", \"width=220\", \"height=200\" );
Avatar billede z42cool Nybegynder
09. oktober 2001 - 17:28 #11
Parametrene skal være i en streng, adskilt af kommaer og uden mellemrum, som dette:

window.open( \"http://dr.dk/nav/netplayer/player.asp?station=1\", \"popup\", \"width=220,height=200\" );


Avatar billede Slettet bruger
09. oktober 2001 - 17:29 #12
jeg klarede det med

window.open( \"http://dr.dk/nav/netplayer/player.asp?station=1\", \"popup\", \"width=220 height=200\" );
Avatar billede z42cool Nybegynder
09. oktober 2001 - 17:33 #13
Jeg betvivler ikke at det virker, men du bør anvende kommaer og ingen mellemrum da det er hvad standarden foreskriver!
Avatar billede Slettet bruger
09. oktober 2001 - 17:40 #14
hvordan kan det være at jeg ikke kan sætte de to tidspunkter til samme dag

fx

<BODY onload=\"myTimerFunc(\'09/10/2001 17:00\', \'09/10/2001 20:40\');\"

med det vil den ikke åbne nu. men hvis jeg sætter startdato en dag tilbage åbner den siden
Avatar billede Slettet bruger
09. oktober 2001 - 17:40 #15
jeg har sat komma i mellem, og det virke også
Avatar billede Slettet bruger
09. oktober 2001 - 17:53 #16
den vil ikke åbne hvis jeg sætter den til at åbne 1 time 0g 59 minutter før aktuel tid. Hvordan kan det være???????
Avatar billede Slettet bruger
09. oktober 2001 - 17:58 #17
er det noget med tidszoner eller hvad. Hvis jeg vil have den til at åbne kl. 1800 skal jeg sætte den til 1600
Avatar billede z42cool Nybegynder
09. oktober 2001 - 17:59 #18
pga. tidszoner.....  Jakoba havde fat i noget da han oprettede at tmp Date objekt i stedet for at kalde UTC direkte, her er den modificerede kode!


<html>
<head>
<script language=\"JavaScript\">
    function dkDateToUTC(dStr) {
        var re = /([0-2][0-9]|3[01])\\/(0[0-9]|1[012])\\/([0-9]{4}) ([01][0-9]|2[0-3]):([0-5][0-9])/ig;
        if (re.test(dStr)) {
            return new Date(RegExp.$3, parseInt(RegExp.$2)-1, RegExp.$1, RegExp.$4, RegExp.$5).valueOf();
        } else return null;
    }
   
    function myTimerFunc(startDate, endDate) {
        var sd = dkDateToUTC(startDate);
        var ed = dkDateToUTC(endDate);
        var td = new Date();
        td = new Date().valueOf();
        if (td>sd && td<ed) {
            //Do the stuff
            open(\"http://www.jubii.dk\", \"\", \"\");
}
    }
</script>

</head>

<BODY onload=\"myTimerFunc(\'09/10/2001 17:00\', \'09/10/2001 20:40\');\">
</body>

</html>
Avatar billede Slettet bruger
09. oktober 2001 - 18:05 #19
Det virker nu tak til jer begge!
Avatar billede Slettet bruger
09. oktober 2001 - 18:06 #20
Det virker nu tak til jer begge!
Avatar billede Slettet bruger
09. oktober 2001 - 18:08 #21
for i øvrigt, siden bliver den reloadet på det tidspunkt start dato er sat. eller skal je bruge en ny kode for det også
Avatar billede z42cool Nybegynder
09. oktober 2001 - 18:23 #22
Den bliver ikke reloadet! Er det fordi du gerne vil have popup vinduet åbnet hvis brugeren stadig er på din side når startidspunktet indtræffer?
Avatar billede Slettet bruger
10. oktober 2001 - 16:32 #23
ja det er det.

er det ok at bruge det her

<%
dato=cdate(\"10/21/2001 09:55:00\")
tilbage = (DateDiff(\"s\", now(), dato))
%>
<META HTTP-EQUIV=\"Refresh\" CONTENT=\"<%=tilbage%>\">
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