Öffnungszeiten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Da schon öfters nach einem Script gefragt wurde, womit man Öffnungszeiten für den Chat festlegen kann, hab ich jetzt eins geschrieben.

    Das Script kann auch so verwendet werden, das es nur zu einer bestimmten Zeit, eine Meldung ausgibt. Dazu muss man nur die Chatbegrenzung ausschalten.

    Weiterhin kann eingestellt werden, ob das Datum bzw. die Uhrzeit in der Statusleiste angezeigt werden soll. Beides ist nicht empfehlenswert bei der Benutzung der Addons "Online-Zeit" und "Autokick".

    Der Copyright-Hinweis sollte im Script drin bleiben und es müssen nur die Variablen angepasst werden.

    Hier nun das Script, welches am Ende der "options.html" eingefügt werden muss:

    Quellcode

    1. <script language="JavaScript">
    2. // Script is Copyright 2001 by Norman Rath
    3. // E-Mail: BM@BinoMaus.de
    4. //
    5. // Addon for GTChat V0.92 -
    6. // Script must be insert in "options.html". - Script muss in die "options.html" eingefügt werden.
    7. // Variablen bitte hier anpassen
    8. var MsgOn = '1'; // Meldung / Vorwarnung ausgeben. 0 = Nein, 1 = Ja
    9. var MsgTime = '22:55'; // Angeben der genauen Zeit, wann die Meldung erscheinen soll. Als Vorwarnung sollte die Zeit vor ChatOff liegen. Format: hh:mm
    10. var MsgText = 'Gute Nacht wünscht Euch der Webmaster.\n\nViel Spaß und bis morgen.\n\nPS: In 5 Minuten schliesst der Chat!'; // Angeben des Textes der Meldung. Mit \n wird einen Zeilenumbruch durchgeführt.
    11. var DateOn = '0'; // Datum in der Statusleiste anzeigen. 0 = Nein, 1 = Ja
    12. var TimeOn = '0'; // Uhrzeit in der Statusleiste anzeigen. 0 = Nein, 1 = Ja
    13. var ChatTime = '1'; // Chatöffnungszeiten. 0 = Nein, 1 = Ja
    14. var ChatOn = '10:00'; // Chat geöffnet ab. Format: hh:mm
    15. var ChatOff = '23:00'; // Chat geöffnet bis. Format: hh:mm
    16. var ChatMsg = 'Der Chat ist geschlossen.\n\nÖffnungszeiten: ' + ChatOn + ' - ' + ChatOff; // Meldung der Öffnungszeiten oder letze Meldung vor dem Ausloggen.
    17. // Ab hier nichts mehr ndern
    18. function getTime(time)
    19. {
    20. array=time.split(":");
    21. return array[0]*60+array[1];
    22. }
    23. function useChat()
    24. {
    25. window.setTimeout("useChat()",1000);
    26. var now = new Date();
    27. var Day1 = now.getDate();
    28. var Month1 = now.getMonth() + 1;
    29. var Year = now.getYear();
    30. var Hour1 = now.getHours();
    31. var Min1 = now.getMinutes();
    32. var Sec1 = now.getSeconds();
    33. var Day2 = ((Day1 < 10) ? "0" : "");
    34. var Month2 = ((Month1 < 10) ? ".0" : ".");
    35. var Hour2 = ((Hour1 < 10) ? "0" : "");
    36. var Min2 = ((Min1 < 10) ? ":0" : ":");
    37. var Sec2 = ((Sec1 < 10) ? ":0" : ":");
    38. var DateNow = Day2 + Day1 + Month2 + Month1 + "." + Year;
    39. var TimeNow = Hour2 + Hour1 + Min2 + Min1;
    40. if (MsgOn == '1')
    41. {
    42. if (MsgTime == TimeNow)
    43. {
    44. alert(MsgText);
    45. MsgOn = '0';
    46. }
    47. }
    48. if (ChatTime == '1')
    49. {
    50. if (getTime(ChatOn) < getTime(ChatOff))
    51. {
    52. if (getTime(TimeNow) < getTime(ChatOn) || getTime(TimeNow) >= getTime(ChatOff))
    53. {
    54. alert(ChatMsg);
    55. ChatTime = '0';
    56. sendText('/quit');
    57. }
    58. }
    59. else if (getTime(ChatOn) > getTime(ChatOff))
    60. {
    61. if (getTime(TimeNow) < getTime(ChatOn) && getTime(TimeNow) >= getTime(ChatOff))
    62. {
    63. alert(ChatMsg);
    64. ChatTime = '0';
    65. sendText('/quit');
    66. }
    67. }
    68. }
    69. if ((DateOn == '1') && (TimeOn == '1'))
    70. {
    71. status = DateNow + " - " + TimeNow + Sec2 + Sec1;
    72. }
    73. else if ((DateOn == '0') && (TimeOn == '1'))
    74. {
    75. status = TimeNow + Sec2 + Sec1;
    76. }
    77. else if ((DateOn == '1') && (TimeOn == '0'))
    78. {
    79. status = DateNow;
    80. }
    81. window.status = status;
    82. }
    83. window.setTimeout("useChat()",1000);
    84. </script>


    Hier noch Beispiele für Öffnungszeiten, welche man in diesem Format verwenden kann:

    10:00 bis 20:00 <--- funktioniert
    20:00 bis 04:00 <--- funktioniert
    20:15 bis 20:45 <--- funktioniert
    20:45 bis 20:15 <--- funktioniert
    00:00 bis 10:00 <--- funktioniert
    10:00 bis 00:00 <--- funktioniert NICHT anstatt 00:00 dann 23:59 schreiben.
    20:00 bis 20:00 <--- funktioniert NICHT (hier kann man auch gleich den Chat komplett geöffnet lassen)

    Ergänzung von Trevize (Wladimir Palant):
    Erstmals Bemerkung: das Script funktioniert auch mit GTChat 0.93, muss aber in data.html eingefügt werden.

    Und für Bino: Vielleicht sollte man die Überprüfung nur jede Minute machen, reicht doch schon und belastet den Browser weniger

    Außerdem hast Du die Vergleiche irgendwie zu umständlich. Du solltest die Zeiten in Ganzzahlen umwandeln:

    Quellcode

    1. function getTime(time)
    2. {
    3. array=time.split(":");
    4. return array[0]*60+array[1];
    5. }


    Die Funktion sollte jetzt die Zahl der Minuten, die seit Mitternacht vergangen sind, zurückliefern (nicht getestet). Dann kannst du diese Zahlen auch direkt vergleichen:

    Quellcode

    1. if (getTime(TimeNow)>getTime(ChatOff) || getTime(TimeNow)<getTime(ChatOff))

    1.009 mal gelesen