Clemens: Weiterleitung über meta-refresh in <noscript>

Hi Leute!

Zur Weiterleitung bei nicht JS-fähigen Clients verwende ich folgenden Code

<head>
  <noscript>
    <meta http-equiv="refresh" content="0; url=index-no-js.php">
  </noscript>
</head>

der (lauf W3-Validator) nicht HTML4-konform ist.

Wo kann es damit Probleme geben? Afaik funktioniert das ganze zu mindest (mit NN 4.x und 6.x, IE 5.x, Opera 5.x).

Clemens

  1. <head>
      <noscript>
        <meta http-equiv="refresh" content="0; url=index-no-js.php">
      </noscript>
    </head>

    alternativ möglich wäre z.B. sowas wie:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
     <title>Javascript-Weiche</title>
     <script language="JavaScript" type="text/javascript">
       function redirect() {
          self.location.href="index-js.php";
       }
     </script>
     <meta http-equiv="refresh" content="2; url=index-no-js.php">
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
     </head>
     <body onLoad="redirect();">
     </body>
    </html>

    ist dann auch w3c-konform.

    Gruß

    sui

    1. alternativ möglich wäre z.B. sowas wie:

      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
      <html>
      <head>
      <title>Javascript-Weiche</title>
      <script language="JavaScript" type="text/javascript">
         function redirect() {
            self.location.href="index-js.php";
         }
      </script>
      <meta http-equiv="refresh" content="2; url=index-no-js.php">
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      </head>
      <body onLoad="redirect();">
      </body>
      </html>

      Hi Sui!

      Noch einfaher wäre Dein Script so:

      <html>
      <head>
       <title>Javascript-Weiche</title>
       <script language="JavaScript" type="text/javascript">
         self.location.href="index-js.php";
       </script>
       <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
       </head>
       <body>
         Hier direkt die nicht-JS-Version
       </body>
      </html>

      Den Funktionsaufruf mit onLoad muss man nicht abwarten, wenn JS aktiviert ist. Und Weiterleiten muss auch nicht sein, da man die nicht JS-Version direkt in das Dokument schreiben kann.

      Ich möchte aber, wenn möglich, die index.html/php mit der JS-Version. Vorteil wäre hier: Da JS meist eingeschlatet ist muss keine weitere Seite geladen werden. Der "Normalfall" ist so zu sagen JS und daher auch index.html mit JS.

      Clemens