kostenloser Webspace werbefrei: lima-city


Problem mit JavaScript Funktion (Parse, Date)

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    infinitysounds

    Kostenloser Webspace von infinitysounds

    infinitysounds hat kostenlosen Webspace.

    Hi Leute, ich versuche im Moment zu erreichen, dass ein bestimmter Code auf meiner Seite erst morgen um 13:00 benutzbar wird.

    Bisher habe ich folgenden Code

    var chaosmas_singletrack="http://www.downloadcounter.de/counter.pl?file=http://download.lima-city.de/infinitysounds/chaosmas%20Singletrack.zip&user=infinitysounds";
    
    var chaosmas_multitrack="http://www.downloadcounter.de/counter.pl?file=http://download.lima-city.de/infinitysounds/Chaosmas%20Multitrack.zip&user=infinitysounds";
    
    //Variablen enthalten die Links zu den Seiten
    
    var date1 = "Fri, 23 Dec 2011 13:00:00 GMT"; //enthält morgigen Zeitpunkt 13:00
    
    var date2 = "Sun, 1 Jan 2010 00:00:00 GMT";//Kontrolldatum weit vor morgen
    
    
    var now = newDate();
    var year = now.getFullYear();
    var month = now.getMonth();
    var day = now.getDate();
    var hour = now.getHours();
    var minutes = now.getMinutes();
    var date_string = now.toGMTString();
    var now_milli = now.getTime();
    
    //verschiedene Datumsfunktionen, die letzte und erste ist relevant
    
    function show_link(link, datum) //es werden der aufzurufene Link und das Datum, zu welchem er nutzbar sein soll, übergeben
    {
    var convert_date = Date.parse(datum); 
    //variable convert_date wird mit der anzahl der Millisekunden seit 1.1.1970 bis zum angegebenen datum assigned
    
    if(now_milli<date) //wenn die anzahl der millisekunden bis jetzt kleiner sind als die des datums
    {
     alert("Es ist noch nicht so weit"); //gib dies aus
    }
    
    if(now_milli>=date) location.href = link;
    //wenn die anzahl der millisekunden bis jetzt größer oder gleich denen des datums sind, öffne den Link
    
    else alert("ERROR"); // wenn beides nicht stimmt, gib error aus
    }


    Und hier ist der code, wenn die Funktion aufgerufen wird

    <a href="javascript:show_link(chaosmas_singletrack, date1)">Download Singletrackversion</a>
    <br>
    <br>
    <a href="javascript:show_link(chaosmas_multitrack, date2)">Download Multitrackversion</a>


    Bei beiden öffnet sich ein alert mit ERROR

    Was mache ich falsch?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    Einmal ganz grundsätzlich: so etwas würde ich nicht mit JavaScript sondern mit PHP lösen, da sonst die Möglichkeit besteht das irgendjemand schon vorher die Datei herunterlädt.
  4. Autor dieses Themas

    infinitysounds

    Kostenloser Webspace von infinitysounds

    infinitysounds hat kostenlosen Webspace.

    hackyourlife schrieb:
    Einmal ganz grundsätzlich: so etwas würde ich nicht mit JavaScript sondern mit PHP lösen, da sonst die Möglichkeit besteht das irgendjemand schon vorher die Datei herunterlädt.


    Das ist nicht so schlimm ;)

    Aber wenn es mal wichtig ist, mache ich es natürlich mit PHP

    Nene, ich würde gerne ne Lösung haben...
  5. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    infinitysounds schrieb:
    Nene, ich würde gerne ne Lösung haben...
    Hab ich natürlich auch:
    <script type="text/javascript"><!--
    //Variablen enthalten die Links zu den Seiten
    var chaosmas_singletrack="http://www.downloadcounter.de/counter.pl?file=http://download.lima-city.de/infinitysounds/chaosmas%20Singletrack.zip&user=infinitysounds";
    var chaosmas_multitrack="http://www.downloadcounter.de/counter.pl?file=http://download.lima-city.de/infinitysounds/Chaosmas%20Multitrack.zip&user=infinitysounds";
    
    var date1 = "Fri, 23 Dec 2011 13:00:00 GMT"; //enthält morgigen Zeitpunkt 13:00
    var date2 = "Sun, 1 Jan 2010 00:00:00 GMT";//Kontrolldatum weit vor morgen
    
    
    var now = new Date();
    var year = now.getFullYear();
    var month = now.getMonth();
    var day = now.getDate();
    var hour = now.getHours();
    var minutes = now.getMinutes();
    var date_string = now.toGMTString();
    var now_milli = now.getTime();
    
    //verschiedene Datumsfunktionen, die letzte und erste ist relevant
    
    function show_link(link, datum) { //es werden der aufzurufene Link und das Datum, zu welchem er nutzbar sein soll, übergeben
    	//variable convert_date wird mit der anzahl der Millisekunden seit 1.1.1970 bis zum angegebenen datum assigned
    	var convert_date = Date.parse(datum); 
    
    	if(now_milli < convert_date) //wenn die anzahl der millisekunden bis jetzt kleiner sind als die des datums
    		alert("Es ist noch nicht so weit"); //gib dies aus
    	else if(now_milli >= convert_date)
    		location.href = link;
    		//wenn die anzahl der millisekunden bis jetzt größer oder gleich denen des datums sind, öffne den Link
    	else alert("ERROR"); // wenn beides nicht stimmt, gib error aus
    }
    // --></script>

    Du hast am Anfang newDate() geschrieben, da gehört ein Leerzeichen dazwischen. Dann hast du die Variable convert_date ganannt aber eine Variable mit dem Namen date geprüft. Und am Ende hast du noch vergessen dass da ein "if ... else if ... else" hingehört hätte.
  6. Autor dieses Themas

    infinitysounds

    Kostenloser Webspace von infinitysounds

    infinitysounds hat kostenlosen Webspace.

    hackyourlife schrieb:
    infinitysounds schrieb:
    Nene, ich würde gerne ne Lösung haben...
    Hab ich natürlich auch:
    <script type="text/javascript"><!--
    //Variablen enthalten die Links zu den Seiten
    var chaosmas_singletrack="http://www.downloadcounter.de/counter.pl?file=http://download.lima-city.de/infinitysounds/chaosmas%20Singletrack.zip&user=infinitysounds";
    var chaosmas_multitrack="http://www.downloadcounter.de/counter.pl?file=http://download.lima-city.de/infinitysounds/Chaosmas%20Multitrack.zip&user=infinitysounds";
    
    var date1 = "Fri, 23 Dec 2011 13:00:00 GMT"; //enthält morgigen Zeitpunkt 13:00
    var date2 = "Sun, 1 Jan 2010 00:00:00 GMT";//Kontrolldatum weit vor morgen
    
    
    var now = new Date();
    var year = now.getFullYear();
    var month = now.getMonth();
    var day = now.getDate();
    var hour = now.getHours();
    var minutes = now.getMinutes();
    var date_string = now.toGMTString();
    var now_milli = now.getTime();
    
    //verschiedene Datumsfunktionen, die letzte und erste ist relevant
    
    function show_link(link, datum) { //es werden der aufzurufene Link und das Datum, zu welchem er nutzbar sein soll, übergeben
    	//variable convert_date wird mit der anzahl der Millisekunden seit 1.1.1970 bis zum angegebenen datum assigned
    	var convert_date = Date.parse(datum); 
    
    	if(now_milli < convert_date) //wenn die anzahl der millisekunden bis jetzt kleiner sind als die des datums
    		alert("Es ist noch nicht so weit"); //gib dies aus
    	else if(now_milli >= convert_date)
    		location.href = link;
    		//wenn die anzahl der millisekunden bis jetzt größer oder gleich denen des datums sind, öffne den Link
    	else alert("ERROR"); // wenn beides nicht stimmt, gib error aus
    }
    // --></script>

    Du hast am Anfang newDate() geschrieben, da gehört ein Leerzeichen dazwischen. Dann hast du die Variable convert_date ganannt aber eine Variable mit dem Namen date geprüft. Und am Ende hast du noch vergessen dass da ein "if ... else if ... else" hingehört hätte.


    Vielen Dank!

    Das new Date() wars, das mit dem date und convert_date ist nur on the fly passiert, in der Datei wars schon richtig ;)

    Jetzt funzts

    ~closed
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!