Sven Rautenberg: <noscript> reicht 1* pro Htmldokument?

Beitrag lesen

Moin!

Wollte nur schnell fragen wie oft man <noscript></noscript> in einem HtmlDokument mit mehreren Scripten schreiben muss?

So häufig, wie es Sinn macht.

Bedenke: Das Konzept von <noscript> ist nicht, die Anzahl von <script> dem unbedarften User bekanntzugeben, sondern _ALTERNATIVEN_ darzustellen, damit man auch ohne Javascript den Effekt des Javascripts - vielleicht umständlicher oder mit mehr Geklicke - erreichen kann.

Beispiel: Bei heise.de gibts oben eine Drop-Down-Liste, um schnell zu einigen Seiten zu gelangen. Mit Javascript selektiert man einen Eintrag und kommt direkt dahin. Ohne Javascript erscheint ein Submit-Button im <noscript>-Bereich, der das Formular an den Server schickt und dadurch einen Redirect erzeugt auf die gewünschte Seite.

Genau für sowas ist <noscript> da: Alternativen für scriptlose Besucher darzustellen, die mit scriptfähigen Browsern optisch vielleicht stören oder verwirren würden.

<html>
   <head>
      <title>Titel des Dokuments</title>

<script type="text/javascript" language="javascript">
         <!--
              var IE=navigator.appName.indexOf("Explorer");
              var OP=navigator.appName.indexOf("Opera");
              if(IE>-1 || OP>-1){
                                 document.write("<bgsound src='music.mid' loop='infinite'>");
           }
         // -->
      </script>

<noscript>
         Sie haben leider kein Javascript aktiviert!
      </noscript>

Das ist Schwachsinn. Innerhalb von <head> darf sowieso kein Text kommen, der im Browser dargestellt werden würde.

<head>

<body>

<script type="text/javascript" language="javascript">
          <!--
               var NS=navigator.appName.indexOf("Netscape");
               if(NS>-1){
                         document.write("<embed src='music.mid' autostart='true' loop='true' hidden='true' height='0' width='0'">);
    }
          // -->
      </script>

<noscript>
         Sie haben kein Javascript aktiviert!
      </noscript>

Und das hier ist auch Schwachsinn. Wenn du Hintergrundmusik haben willst (was seinerseits schon blödsinnig ist), dann benutze <noscript> dafür, eine Musikeinbindung zu benutzen, die einfach vom meistverwendeten Browser ausgeht und dafür Musik einbindet.

Abgesehen davon: Man kann auch ohne Browserdetection Hintergrundmusik für alle Browser funktionierend einbinden.

Wenn ein Browser ein HTML-Tag nicht kennt, ignoriert er es und stellt dessen Inhalt dar. Da <bgsound> und <embed> beide keinen Inhalt haben, wird deine Hintergrundmusik also in allen Browsern (die einen der beiden Tags kennen) funktionieren - vollkommen ohne nervige Benutzerinformation über fehlendes Javascript, und auch ohne die Notwendigkeit für Javascript.

</body>
</html>

- Sven Rautenberg

--
ss:) zu:) ls:[ fo:} de:] va:) ch:] sh:) n4:# rl:| br:< js:| ie:( fl:( mo:|