Thorsten Steffen: Sauber abfragen, ob Browser JS enabled hat

Hi,
ich möchte auf meiner page JS nutzen und verhindern, daß Browser ohne JS diese Seiten aufrufen können (da dann die FUnktionalität nicht mehr gegeben ist). Momentan habe ich einfach in der index.htm folgendes gemacht:
<BODY>
<script language="JavaScript1.1" type="text/javascript">
  <!--
  window.location.replace('start.htm');
  //-->
</script>
<noscript>
<TABLE ALIGN="center" BORDER="0" WIDTH="70%">
  <TR>
  <TD ALIGN="left">
   Diese Seite benutzt Javascript 1.1, Sie benötigen einen Browser,
   der dies unterstützt. Falls Sie schon einen Browser einsetzen,
   der Javascript 1.1 unterstützt, prüfen Sie in den
   Einstellungen nach, ob Javascript enabled ist.
  </TD>
  </TR>
  <TR>
  <TD ALIGN="center">
   <A HREF="index.htm">Erneut versuchen</A>
  </TD>
  </TR>
</TABLE>
</noscript>
</BODY>

Aber wenn nun jemand direkt eine Unterseite aufruft, nutzt das ja nichts. Wie verhindere ich sauber generell auf jeder Seite, die JS nutzt, das Browser ohne JS diese Seite aufrufen können.

Gruß
Thorsten

  1. auch hi

    du koenntest jede seite komplett mit document.write ausgeben

    ob das aber so gut ist...

    mein vorschlag: mach n noscript bereich auf jeder seite, wo drin steht, blabla, funktionalitaet ist eingeschraenkt ohne js - und lass den user entscheiden, mal ganz davon abgesehen, dass das ne unfeine art ist , wozu gibts HTML ?

    cua

    n.d.p.

  2. Hi Thorsten,

    überraschenderweise scheint noscript auch im Header zu gehen:

    <html>
       <head>
            <noscript>
                <meta http-equiv="refresh" content="0; URL=ohnescript.htm">
           </noscript>
       </head>
    ....

    Sabotiert aber den "Zurück"-button. (Zumindest solange bis Script eingeschaltet ist.)

    Gruss,
    Carsten

    1. Hallo Carsten,

      überraschenderweise scheint noscript auch im Header zu gehen:

      Das sagt das W3C dazu: http://www.w3.org/TR/html401/sgml/dtd.html#head.content
      Es ist also durchaus zulässig, und entspricht der html4.01-Spezifikation

      Gruß AlexBausW *derdasW3Cimmerbesserfindetweilsichdortdieantwortenaufsovielfragenbefindendiemanvorhergarnichtgehabthätte* ;-)

      1. Hi Alex,

        ja, das steht da, aber ich hab's bisher nicht geschafft, einen <noscript>-Bereich im <head> unterzubringen, ohne dass der Validator es angemeckert hätte *wunder*

        Grüße,

        Utz

      2. Moin

        Das sagt das W3C dazu: http://www.w3.org/TR/html401/sgml/dtd.html#head.content

        Stimmt.

        Es ist also durchaus zulässig, und entspricht der html4.01-Spezifikation

        Sorry: nein. Denn die Definition einer Parameter Entity endet mit dem nächsten ">" http://www.w3.org/TR/1999/REC-html401-19991224/intro/sgmltut.html#h-3.3.2.
        <!ENTITY % head.content "TITLE & BASE?"> erweitert also den durch <!ENTITY % head.misc "SCRIPTSTYLEMETALINKOBJECT"> bestimmten Rahmen um BASE und TITLE.

        *derdasW3Cimmerbesserfindetweilsichdortdieantwortenaufsovielfragenbefindendiemanvorhergarnichtgehabthätte* ;-)

        stimmt auch irgendwie :-)

        Swen