Rätselkalender Feiertagskalender 01 (Datei ab best. Datum öffnen)
Ein Osterkalender, ein Ferienkalender ... . Was immer sie mit dieser Vorlage herstellen möchten. Das Script steuert und kontrolliert das Öffnen von bestimmten Dateien ab einem festgelegten Datum (Tag / Monat), ähnlich wie bei einem Adventskalender.
|
|
Mehrere bestimmte Dateien nur ab einem festgelegtem Datum öffnen
UPDATE 05.06.2011 19:00 Uhr, neues Script überarbeitet & vereinfacht
Anwendung
Mehrere bestimmte Dateien nur ab einem festgelegtem Datum öffnen
Mit diesem Scriptbeispiel können sie Kalender für viele unterschiedliche Zwecke herstellen. Zum Beispiel für einen Reisebericht, für den Link des Tages, einen Oster-, Ferien- oder Rätselkalender und natürlich auch für einen Adventskalender. Sie können das Scriptbeispiel überall dort einsetzen, wo sie kontrollieren möchten, ab wann eine Datei geöffnet werden darf.
Rechts sehen sie ein Beispiel für einen Einsatz als Event-Report-Kalender. Berichte können ab einem bestimmten Datum abgerufen werden (hier ohne Verlinkung).
|
|
Setzen sie dieses Beispiel ein, um z.B. einen Event 'stückchenweise' anzukündigen oder um eine Webseite für einen Reisebericht bereits vorab mit einen passenden Übersicht einzurichten, wenn die Seiten für die jeweiligen Tage später hoch geladen werden sollen. Meine Demo 03 zeigt eine weitere Einsatzmöglichkeit als Rätselkalender: Jeden Tag kommt der Seitenbesucher der Auflösung ein wenig näher. Ein Kalender zum 'neugierig machen' der frequente Besuche ihrer Seite garantiert. Eine Masche, die in der Werbung immer häufiger auftaucht.
- Fußball Frauen-WM 2011 (Spiele für Deutschland) [Beispiel unten]
- Sommerferien: Jeden Tag ein Tipp für ein Ausflugsziel
- Bastelkalender: Täglich einen Basteltipp präsentieren
- Event ankündigen: Stand der Vorbereitungen im Web präsentieren
- Angebote: Angebot des Tages veröffentlichen
- Rätselkalender: Auflösung stückchenweise verraten
Dabei sollen die jeweiligen Seiten nur ab einem bestimmten Datum abrufbar sein, Seiten eines früheren Datums können aber eingesehen werden, nach dem Motto "das wäre ihr Preis gewesen" (Rudi Carell). Bei einem Rätselkalender haben Teilnehmer die später einsteigen so auch die Möglichkeit, Tipps zur Auflösung vergangener Tage zu lesen.
Demo 1
Demo 2
Demo 3
Demo 4
Demo 5
1 Beispiel (live Demo)
Mit diesem Scriptbeispiel können sie Kalender für unterschiedliche Zwecke herstellen. Reisebericht, Link des Tages, Osterkalender, Ferienkalender, Rätselkalender, natürlich auch einen Adventskalender. Sie können das Scriptbeispiel überall dort einsetzen, wo sie kontrollieren möchten, wann eine Datei geöffnet werden darf.
// Ostern 2009
Klicken nach dem 10 April öffnet die entsprechende Datei.
In diesem Beispiel 01 werden Textlinks verwendet Beispiel 02 ImageMap
2 Steuerung
Eine Datei für den 10. April kann nur ab dem 10.04 oder später geöffnet werden.
Eine Datei für den 11. April kann nur ab dem 11.04 oder später geöffnet werden.
Bei ungültigen Klicks wird eine Info-Datei angezeigt
Die Anzahl der Unterscheidungen (Datum) ist quasi nicht begrenzt (max. 365) und muss keiner Regel folgen. Der Zeitpunkt (Datum) wird für jede Datei mit Tag und Monat festgelegt. Die Datumswerte müssen nicht aufeinander folgen wie beim Adventskalender. Die Werte könnten also täglich aufeinander folgend, für 1 X wöchentlich (z.B. immer Montags) oder sogar in unregelmäßiger Folge in beliebiger Anzahl eingetragen werden.
Funktion

Hinter jedem Link versteckt sich ein Aufruf der Funktion 'Anzeigen()'. Innerhalb der Klammern werden beim Funktionsaufruf zwei Ziffern als Parameter übergeben. Bei den Ziffern handelt es sich um Angaben zum Tag und Monat, ab dem die Anzeige der entsprechenden Datei gültig sein soll.
<a href="javascript:Anzeigen(22,7);">22</a>
Der aufgerufenen Funktion werden 2 Parameter übergeben. Mit den Parametern lege ich fest, für welchen Tag und Monat der Aufruf gelten soll. Im Code oben handelt es sich um die Ziffern '22' und '7'. Daraus schließen sie richtig wenn sie annehmen, dass der Aufruf der Datei für den 22. Juli vorgesehen ist. Am 22. Juli (oder später) soll diese Datei aufgerufen werden können.
Mit den beiden Werten für den angeklickten Tag übergebe ich an die Funktion also 2 Zahlen. Die beiden Ziffern verwende ich innerhalb der Funktionen für zwei Zwecke:
- zur Datumsprüfung wegen der Gültigkeit des Aufrufs
- zum 'Zusammenbauen' des Dateinamens
1) Die Funktion untersucht, ob das Datum das ich aus diesen beiden Werten zusammensetze, größer als das aktuelle Datum ist oder nicht. Sie lässt den Aufruf der Datei zu oder zeigt eine Info-Datei.
2) Die Funktion 'baut' aus diesen beiden Werten einen Dateinamen, der sich aus diesen Ziffern zusammensetzt. Da für die Dateinamen immer 4 Zeichen (eine vierstellige Zahl) vorsehe, wird bei einstelligen Ziffern jeweils eine Null vorangestellt. Daraus folgt, die Dateinamen der Tagesdateien müssen nach diesem Schema festgelegt sein: 4stellige Zahl plus Punkt plus 'htm'
Datei für den 03. Jan.: 0301.htm
Datei für den 27. Mär.: 2703.htm
Datei für den 28. Okt.: 2810.htm
Datei für den 01. Apr.: 0104.htm
Die Fehlerdatei sollte info.htm heißen
Kommentare zur Erklärung habe ich im Script notiert.
Das Script im Head-Bereich
<script type="text/javascript" language="JavaScript">
<!--
// Version 2.0 - 05.06.2011
// ersten Klicktag für den Counter eintragen
var ZielDatum = new Date("April 10, 2011");
// aktuelles Datum - Werte entnehmen
var KDatum = new Date();
var KTag = KDatum.getDate();
var KMonat = KDatum.getMonth() +1;
// VergleichsVariable "JetztString" aktuelles Datum
KTag = ((KTag < 10) ? "0" : "")+ KTag;
KMonat = ((KMonat < 10) ? "0" : "")+ KMonat;
var JetztString = KMonat + KTag;
function Anzeigen(ZahlTag,ZahlMonat)
{
// "VergleichString" herstellen (TTMM)
tt = ((ZahlTag < 10) ? "0" : "")+ ZahlTag;
mm = ((ZahlMonat < 10) ? "0" : "") + ZahlMonat;
var VergleichString = mm + tt;
if(JetztString >= VergleichString)
{
var Dateiname = tt + mm + ".htm";
}
else
{
var Dateiname = "info.htm";
}
window.location.href = Dateiname;
}
//-->
</script>
Der Link zum Aufruf im Body-Bereich
<a href="javascript:Anzeigen(22,7);">22</a>
Als Übergabewerte werden Tag und Monat eingetragen. Die numerischen Werte stehen nicht in Anführungszeichen!
<a href="javascript:Anzeigen(22,7);">22</a>
Ob sie nun als anklickbare Verweisfläche einen Text (hier 22) oder eine (Ostereier-) Grafik eintragen beleibt ihnen überlassen. Den Kalender können sie in eine Tabelle fassen und / oder mit CSS formatieren.
Stellen sie sicher, das eine Datei mit entsprechenden Namen bereitgestellt wird. Für diesen Link z.B. muss eine Datei mit dem Namen '2207.htm' vorhanden sein. Außerdem sollte eine Datei mit der Bezeichnung 'info.htm' vorhanden sein die immer dann angezeigt wird, wenn ein ungültiger Aufruf erfolgt.
siehe auch: Osterkalender 02 mit einer Imagemap als Verweisfläche
Aufwand
Wenn sie die ZIP-Datei meines Beispiels herunter laden und in einem neuen Ordner auspacken, besitzen sie einen funktionierenden Osterkalender für 2009 mit 4 Tagesdateien und einer Info-Datei. Die 4 Tagesdateien passen Sie nach Ihren Vorstellungen an.
- Script im Head-Bereich notieren
- Links im Body-Bereich notieren
- entsprechende Tagesdateien erstellen
- Info-Datei (info.htm) erstellen
Der Dateiname 'info.htm' ist als Standard für die Fehlerdatei bereits eingetragen. Wenn sie ihre Datei anders benennen möchten können sie den Einträg ändern (Groß- Kleinschrift beachten).
Das war's schon!
Alles Notwendige ist getan! Sie können den Kalender noch weiter anpassen indem sie als Verweisfläche Grafiken eintragen oder die CSS-Anweisungen ändern
Kalender testen
Nach dem Entpacken der ZIP-Datei in einem neuen Ordner, lassen sich die Funktionen des Kalenders nätürlich nicht alle testen. Schließlich wird durch eine Datumsprüfung verhindert, das man die Dateien zu früh öffnet. Zum Testen müssten sie das Systemdatum ihres Rechners vordatieren.
Info Systemdatum ver- / einstellen
Beispiele
Mit diesem Scriptbeispiel können sie Kalender für unterschiedliche Zwecke herstellen. Reisebericht, Link des Tages, Osterkalender, Ferienkalender, Rätselkalender, natürlich auch einen Adventskalender. Sie können das Scriptbeispiel überall dort einsetzen, wo sie kontrollieren möchten, wann eine Datei geöffnet werden darf.
// Bsp. ohne Funktion: Daten für Mai 2010
// Bsp. ohne Funktion: Sommerfereien NRW Juli 2009
Auswahlkalender Tipps - für jeden Kalendertag
// Bsp. ohne Funktion: Fußball Frauen-WM 2011 (Spiele für Deutschland)
Auswahlkalender Berichte - lediglich bestimmte Kalendertage
Mogeln
Hinweis: Mogeln ist auch für Besucher möglich!
Was sie zu Testzwecken können, kann auch ihr Seitenbesucher auch. Einfache aber arbeitsaufwändige Abhilfe: Täglich und kurzfristig die entsprechende Tagesdatei hoch laden.
Die im Kalender verwendete Datumsinformation ist immer das Datum, das am lokalen Rechner eingestellt ist. Bei einem korrekt eingestellten Datum am Computer des Seitenbesuchers (Windows: Uhrzeitanzeige in der Statuszeile rechts unten) wird auch das richtige Datum verwendet.
Aber ja, sie haben Recht wenn sie behaupten, dass man durch Verstellen des Systemdatums (z.B. auf den 13. März) in der Lage ist, schon vorher alle Fenster zu öffnen.
Wenn sie versierter Webmaster sind und sich mit PHP auskennen:
Abhilfe schafft ein kleiner Trick:
Sie lesen das Datum vom Server aus (das stimmt ja immer) und übergeben das Serverdatum an das Kalenderscript. Dann ist Mogeln nicht mehr so einfach möglich.
Dazu benötigen sie allerdings Kenntnisse in PHP und die Kalenderdatei darf nicht als HTML-Datei, sondern als PHP-Datei gespeichert werden. Voraussetzung für diese Option ist natürlich, dass ihr Provider ihnen erlaubt PHP-Scripte auf dem Server auszuführen. Der Aufwand lohnt aber nicht.
Zu diesem Thema habe ich eine eigene Seite erstellt. Im Menü links im
Untermenü 'allgemeine Modifikationen' finden sie den Menüpunkt
Datum vom Server (PHP)
|