mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 29.03.2024 16:56 Benutzername: Passwort: Auto-Login

Thema: Verschiedene Layouts zu bestimmten Tageszeiten vom 29.04.2007


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> Verschiedene Layouts zu bestimmten Tageszeiten
Autor Nachricht
landungsbrücken
Threadersteller

Dabei seit: 13.08.2005
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst So 29.04.2007 22:04
Titel

Verschiedene Layouts zu bestimmten Tageszeiten

Antworten mit Zitat Zum Seitenanfang

Hallo, suche verzweifelt ein JavaScript (denk ich mal) um versch. Layouts einer Website zu bestimmten Tageszeiten anzuzeigen. zb ein Tages und ein Nachtlayout? kann mir da jemand weiterhelfen?

gruss
  View user's profile Private Nachricht senden
Zeithase

Dabei seit: 09.05.2005
Ort: Erfurt
Alter: 39
Geschlecht: Männlich
Verfasst So 29.04.2007 22:10
Titel

Re: Verschiedene Layouts zu bestimmten Tageszeiten

Antworten mit Zitat Zum Seitenanfang

landungsbrücken hat geschrieben:
Hallo, suche verzweifelt ein JavaScript (denk ich mal) um versch. Layouts einer Website zu bestimmten Tageszeiten anzuzeigen. zb ein Tages und ein Nachtlayout? kann mir da jemand weiterhelfen?

gruss


Eine Loesung ueber JavaScript ist denkbar unguenstig (nicht jeder Benutzer hat JavaScript aktiviert). Besser waere, dafuer eine serverseitige Programmiersprache respektive Skriptsprache (z.B. PHP, Perl, etc.) zu verwenden. Hast Du in irgendeiner davon Erfahrung? Welche Moeglichkeiten stehen Dir zur Verfuegung?
  View user's profile Private Nachricht senden
Anzeige
Anzeige
rob

Dabei seit: 11.12.2003
Ort: ~/
Alter: 46
Geschlecht: Männlich
Verfasst So 29.04.2007 23:17
Titel

Antworten mit Zitat Zum Seitenanfang

Ja, und es ist nicht nur das Problem, daß vielleicht mal ein User kommt, der JS deaktiviert hat (oder gar nicht die Möglichkeit hat, dieses zu nutzen).
Die Site soll ja vermutlich auch von verschiedenen Suchmaschinen (wie z.B. Google) indiziert werden.
Die werden keinen fremden Code auf ihren Servern ausführen.
Wenn deine Site keinen Content hat, sondern nur eine JS-basierte Weiterleitung auf eine Tag- und eine Nacht-Seite, dann wird da nichts indiziert werden.
Wenn du nicht die Möglichkeit hast, die Sache serverseitig zu lösen, dann solltest du in jedem Fall nur eine Seite erstellen und dann mit Hilfe von JS nur das entsprechende Nacht/Tag-Stylesheet laden.

Hier tritt aber auch wieder ein Problem auf.
Man kann nicht einfach einen noscript-Bereich erstellen, worin man dann ein Stylesheet einbindet, für den Fall, daß ein User kein JS aktiviert hat.
<noscript> ist im Head nicht zulässig und das link-Tag ist nicht innerhalb von noscript zulässig.
Wenn du validen Code schreiben willst, klappt das so also nicht...
Du müßtest dann also ein Standard-Stylesheet ganz normal einbinden und dann mit Hilfe von JS ein entsprechendes Tag/Nacht-Stylesheet einbinden, daß alle Anweisungen aus dem Standard-Stylesheet überschreibt.

Naja, in jedem Fall, wäre die JS-Lösung programmiertechnisch gar kein Problem.
Du instantiierst ein neues Date-Objekt und holst dir dann über die Methode getHours() die aktuelle Stunde.
Mit einer einfachen if-Abfrage lädst du dann ein entsprechendes Stylesheet.
Das kann man auf verschiedenen Wegen machen, u.a. mit document.write().

Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="de">

<head>
   <meta http-equiv="content-language" content="de">
   <meta http-equiv="content-type" content="text/html; charset=iso-8859-15">

   <title>Tag oder Nacht</title>
   
   <script type="text/javascript">
   var jetzt = new Date();
   var stunde = jetzt.getHours();

   window.document.open();
   if ( stunde >= 8 && stunde < 20 )
   {
      window.document.write( "<link rel=\"stylesheet\" type=\"text/css\" href=\"styles/tag.css\">" );
   }
   else
   {
      window.document.write( "<link rel=\"stylesheet\" type=\"text/css\" href=\"styles/nacht.css\">" );
   }
   window.document.close();
   </script>

</head>



<body>

</body>
</html>


Wenn das nicht ausreichend, weil du nicht einfach nur verschiedene Layouts haben willst, sondern auch wirklich anderen Content, dann bleibt ja nichts anderes, als auf eine andere Seite umzuleiten.
Dann mußt du die if-Abfrage halt entsprechend umschreiben:
Code:

if ( stunde >= 8 && stunde < 20 )
{
   window.location.href = "tagseite.html";
}
else
{
   window.location.href = "nachtseite.html";
}

Da Suchmaschinenbots dieser Weiterleitung aber nicht folgen werden, hast du hier dein Problem.
Du solltest deswegen dann im Body einen Noscript-Bereich einfügen bzw. ist der Noscript-Bereich dann eigentlich gar nicht mehr notwendig.
Einfach die Seite normal erstellen - halt eine Version für nicht-JS-User.
Wird natürlich dann viel Gefummel, wenn das gleiche Spielchen bei vielen Unterseiten noch getan werden muß...
Ich weiß ja nicht, wie deine Site aufgebaut sein soll...

Eine serverseitige Lösung wäre in jedem Fall vorzuziehen.


Zuletzt bearbeitet von rob am So 29.04.2007 23:25, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden
 
Ähnliche Themen So einfach gehen div layouts :) :)
Webseiten Layouts -> Immer 72 DPI?
Opera und relative Layouts
in welchem programm erstellt ihr web-layouts...?
Web 2.0 - wo gibt es professionelle MySpace-Layouts?
InDesign Layouts auf dem iPad erstellen
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.