PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Skript für dynamischen Countdown auf der Webseite



AndreasMeier
12-11-2005, 14:53
hallo zusammen,

ich such ein Skript, was mir einen netten Countdown (Tage, Stunden, Minuten) auf meiner Webseite anzeigt.
Das Enddatum kann ruhig fest eincodiert sein, das würde nichts ausmachen.
Die Zeit soll dynamisch angezeigt werden und runterzählen, während der User die Seite anschaut.

Könnt ihr mir bitte eine Empfehlung geben ?

Danke und Gruß
Andreas

SeeksTheMoon
13-11-2005, 16:33
zufälligerweise habe ich sowas vor 2 Tagen geschrieben. Ich benutze cgicc dafür, das ist eine C++ CGI Bibliothek von GNU (d.h. der folgende Code ist GPL).

Du musst in der Zeile

//1. September 2006
#define FEIERTAG 1157061600

nur den Timestamp des Tages anpassen.
Kompilieren kannst Du mit g++ foo.cpp -lcgicc -o foo.cgi



#include <iostream>
#include <string>

#include <cgicc/Cgicc.h>
#include <cgicc/CgiInput.h>
#include <cgicc/CgiEnvironment.h>
#include <cgicc/HTTPHTMLHeader.h>
#include <cgicc/HTMLClasses.h>
#include <cgicc/HTTPRedirectHeader.h>

using namespace std;
using namespace cgicc;

//1. September 2006
#define FEIERTAG 1157061600

int main(int argc, char **argv) {
try {
CgiEnvironment* env;
env = new CgiEnvironment(new CgiInput());
string url = env->getScriptName();

// Send HTTP header: Content-type: text/html\n
cout << HTTPHTMLHeader() << HTMLDoctype(HTMLDoctype::eStrict) <<endl;

cout << html() <<endl;
cout<<head()<< "<meta http-equiv=\"refresh\" content=\"1; URL="<<url<<"\">";
cout << title("Feiertags-Counter") << head()<<endl;
cout << body() <<endl;

long diff = 0;
long feiertag = FEIERTAG;

//TODO: Der Feiertag kann sich gerne jedes Jahr wiederholen =)
diff = difftime(FEIERTAG, time(NULL));
cout<<"<strong>Noch <font color='red'>"<<diff<<"</font> Sekunden bis zum Feiertag!</strong>\n";

// Close the HTML document
cout << body();
cout << html();
} catch(exception& e) {
// handle any errors - omitted for brevity
}
}



Das Meta-Tag lädt die Webseite jede Sekunde neu. Ist nicht so doll wie ich finde (ist aber nur als Gag für ein paar Freunde gedacht gewesen und daher ausreichend).

Wer für das Page-Reload ne bessere Lösung hat, daran wäre ich auch interessiert.


btw: lässt sich auch komplett in Javascript schreiben

AndreasMeier
13-11-2005, 17:03
Klasse, danke für die Antwort.

Ein Bekannter hat mir einen Link zugesandt, der sowas in Javaskript löst.
Funktioniert einwandfrei.

Falls es dich interessiert :
Link (http://www.pc-more.net/jscountdown2.html?PHPSESSID=9cd0346ab3bc78b2b5898d 3355b4c78a)

Trotzdem danke für Deine Antwort.

Gruß
Andreas