Fritz: automatische Weiterleitung

Hallo zusammen,

ich möchte meine Homepage responsive machen und wollte das so lösen, dass ich auf meiner indexseite je nach fensterbreite automatisch auf jeweils andere seiten verzweige.

Das funktioniert lokal bei mir am rechner auch, aber wenn ichs auf den Server lege leider nicht.

mein script lauten:

  
<script language="JavaScript">  
<!--  
function Fensterweite () {  
  if (window.innerWidth) {  
    return window.innerWidth;  
  } else if (document.body && document.body.offsetWidth) {  
    return document.body.offsetWidth;  
  } else {  
    return 0;  
  }  
}  
  
scre = Fensterweite ();  
//alert(scre)  
  
if(scre <="450")self.location.replace('optikraab450.htm');  
else if(scre <="900")self.location.replace('optikraab1000.htm');  
else if(scre <="8000")self.location.replace('index1000.html');  
//-->  
</script>  

Was mach ich da falsch?

Danke im Voraus für Euere Hilfe

  1. Aloha ;)

    mein script lauten:

    <script language="JavaScript">
    <!--
    function Fensterweite () {
      if (window.innerWidth) {
        return window.innerWidth;
      } else if (document.body && document.body.offsetWidth) {
        return document.body.offsetWidth;
      } else {
        return 0;
      }
    }

    scre = Fensterweite ();
    //alert(scre)

    if(scre <="450")self.location.replace('optikraab450.htm');
    else if(scre <="900")self.location.replace('optikraab1000.htm');
    else if(scre <="8000")self.location.replace('index1000.html');
    //-->
    </script>

    
    >   
    > Was mach ich da falsch?  
      
    Vor allem das, dass du nicht die [dafür gedachten Methoden](http://wiki.selfhtml.org/wiki/CSS/Media_Queries) benutzt, sondern stattdessen etwas in JavaScript zusammenschusterst... Überhaupt, was machst du mit den Usern, die JavaScript deaktiviert haben? Die bekommen dann keinen Inhalt geliefert? ;)  
      
    Du siehst, es ist durchaus sinnvoll, responsives Design (zumindest, was die Grundsachen angeht) auf der Ebene von CSS anzusiedeln.  
      
    Lies dich doch mal in MediaQueries ein und wenn du dann noch nicht verstanden hast, wie du dein Problem löst, helfen wir dir gerne weiter ;)  
      
    Ach ja, und zu deinem javaScript-Code:  
      
    Was machen die HTML-Kommentarzeichen innerhalb von <script>? Warum das language-Attribut und nicht type="text/javascript" (okay, seit HTML 5 ist das glaub ich alles nicht mehr nötig)? Warum ist der Fallback-Wert für Fensterweite bei 0? Warum vergleichst du die Zahl scre mit dem String "500" (okay - JavaScript kann das zwar und wandelt "500" in diesem Fall in 500 um, aber trotzdem...)? Warum die Beschränkung des Auslieferns auf maximal 8000px (ja, das ist natürlich im Moment schon genug) und nicht einfach 'else' für den letzten Zweig? Warum keine Klammersetzung bei den if mit scre? Eventuell ist ja eine dieser Sachen für das Nicht-Funktionieren verantwortlich... Zu guter Letzt hat jeder moderne Browser Entwicklerwerkzeuge inklusive JavaScript-Konsole, die Fehler in der Ausführung anzeigt.  
      
    Grüße,  
      
    RIDER  
      
    
    -- 
    Camping\_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller  
      
    ch:? rl:| br:> n4:? ie:% mo:| va:) js:) de:> zu:) fl:( ss:| ls:[  
    
    
  2. @@Fritz:

    nuqneH

    ich möchte meine Homepage responsive machen und wollte das so lösen, dass ich auf meiner indexseite je nach fensterbreite automatisch auf jeweils andere seiten verzweige.

    Kann man machen. Ist aber Kacke.

    Und hat mit „responsive“ nichts zu tun.

    Was mach ich da falsch?

    Du machst das Web kaputt.

    Qapla'

    --
    „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
    1. Was mach ich da falsch?
      Du machst das Web kaputt.

      Woll Genosse KaLeu!. Insbesondere kann man das Web dann nicht mehr speichern geschweige denn ausdrucken.

      Jörg Reinholz

      1. Was mach ich da falsch?
        Du machst das Web kaputt.
        Woll Genosse KaLeu!. Insbesondere kann man das Web dann nicht mehr speichern geschweige denn ausdrucken.

        Jörg Reinholz

        Wieso mach ich das Web kaputt??

        Ihr könnt Euch ja mal unter www.optik-raab.de meine Seite anschauen.

        Bin für jeden Verbesserungsvorschlag offen.

        Vielen Dank

        Fritz

        1. Om nah hoo pez nyeetz, Fritz!

          Wieso mach ich das Web kaputt??

          Mach es so, wie Camping-RIDER es vorgeschlagen hat. Dann bleibt alles schön ganz.

          Matthias

          --
          Der Unterschied zwischen Java und JavaScript ist größer als der zwischen rho und Rhodos.

        2. @@Fritz:

          nuqneH

          Wieso mach ich das Web kaputt??

          Weil Links nicht funktionieren. Das hatte ich doch verlinkt.

          Ihr könnt Euch ja mal unter www.optik-raab.de meine Seite anschauen.

          Eine verwaschene Textgrafik (sogar auf nichthochauflösendem Display). Und das bei einer Optiker-Website. Das hat schon eine gewisse Komik inne.

          Die Textgrafik hat keinerlei Alternativtext. Seitenbesucher, die keine Bilder sehen, erhalten null Inhalt. Das betrifft Blinde/Sehschwache, gerade im Tunnel steckende Nutzer, Suchmaschinen, …

          <META NAME="keywords" CONTENT="Optik,Optiker,Augenoptik,Augenoptiker,…,sexy,eyes,Shop,shopping,einkaufen">

          Keywords interessieren Suchmaschinen recht wenig. Kann weg.

          Und überhaupt, wer nach „sexy“ sucht, der will gewiss keine Brille.

          Der Quelltext sieht aus, als wäre die Seite von 1995, nicht von 2015. Tabellenlayout, haufenweise darstellungsbezogene HTML-Elemente und -Attribute. So wird das nichts.

          Bin für jeden Verbesserungsvorschlag offen.

          Nicht verbessern. Besser machen durch neu machen.

          Responsive Web Design (deutsche Übersetzung) geht so.

          Dazu müsstest du dich aber tiefer in HTML und CSS einarbeiten. Wenn das nicht (auf die Schnelle) leisten kannst, aber für den Laden eine vernünftige Website haben möchtest, nimm etwas Geld in die Hand und lass sie von jemandem erstellen, der sich damit auskennt. Gern auch als Workshop für dich, in dessen Verlauf du HTML/CSS lernst und am Ende deine Website auf einem brauchbaren Stand hast.

          Qapla'

          --
          „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
    2. Aloha ;)

      Kann man machen. Ist aber Kacke.

      Und hat mit „responsive“ nichts zu tun.

      Auch wenn ich dir hier zustimme - verlink doch nicht auf einen Beitrag, der erstens durchaus kontrovers diskutiert wurde und sich zweitens auf eine andere Ausgangsfrage bezieht. Gerade der Umstand, dass dieser Unterschied nicht auf den ersten Blick ersichtlich ist, macht eine solche Verlinkung sehr problematisch :P

      Grüße,

      RIDER

      --
      Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller
      ch:? rl:| br:> n4:? ie:% mo:| va:) js:) de:> zu:) fl:( ss:| ls:[
      1. @@Camping_RIDER:

        nuqneH

        verlink doch nicht auf einen Beitrag

        Selbstverständlich verlinke ich darauf. Oder sollte ich das dort Gesagte noch mal abtippen?

        der erstens durchaus kontrovers diskutiert wurde

        Es steht jedem frei, sich die damalige Diskussion zu Gemüte zu führen.

        und sich zweitens auf eine andere Ausgangsfrage bezieht.

        Deshalb hab ich dann nicht auf den Anfang des Threads verlinkt.

        Qapla'

        --
        „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
  3. @@Fritz:

    nuqneH

    mein script lauten:

    <script language="JavaScript">
    <!--
    function Fensterweite () {
      if (window.innerWidth) {
        return window.innerWidth;
      } else if (document.body && document.body.offsetWidth) {
        return document.body.offsetWidth;
      } else {
        return 0;
      }
    }

    scre = Fensterweite ();
    //alert(scre)

    if(scre <="450")self.location.replace('optikraab450.htm');
    else if(scre <="900")self.location.replace('optikraab1000.htm');
    else if(scre <="8000")self.location.replace('index1000.html');
    //-->
    </script>

    
    >   
    > Was mach ich da falsch?  
      
    Die HTML-Kommentarzeichen müssen außerhalb von <script>…</script> stehen. ;-)  
      
    SCNR.  
      
    Qapla'
    
    -- 
    „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)