Chefkoch: Abfrage nach Javascript enabled

Hallo Forumer,

bervor mich jetzt jemand ob des Posting-Themas erschlägt ....

Ja, ich habe in der Auslese nach gesehen und
Ja, ich habe das Archiv durchsucht.

Dabei habe ich folgendes Posting von Stefan Münz gefunden:
----------------------------

Wie kann ich abfragen, ob ein Anwender Javascript in den Einstellungen enabled hat und entsprechend eine Meldung ausgeben, wenn er es nicht hat?

Mit JavaScript jedenfalls nicht <g>. Bleibt also nur HTML. Und das einzige HTML-Tag, das sich an javascript-faehige Browser richtet, ist das <noscript>-Tag. Innerhalb von <noscript>...</noscript> kann man zwar nicht die Sachen machen, die man "mit" JavaScript machen kann, aber man kann darin beliebig viel HTML notieren, das nur dann ausgegeben wird, wenn JavaScript deaktiviert ist. Man koennte darin also z.B. einen Link zu einer Seite notieren, die bei gleichem Inhalt ohne JavaScript auskommt und gleichzeitig ein Saetzlein darunter schreibt, dass der Anwender leider JavaScript deaktiviert hat und deshalb diesem Link folgen sollte (oder so aehnlich).

Viele Gruesse
  Stefan Muenz
----------------------------

Ich hätte dazu nur noch eine Frage:
Ist denn damit möglich 2 Framesets aufzurufen, eines mit Java-menü und eines ohne ?

Also so:
<noscript>
Frameset mit Button Menü ohne Java
+Schade, das Java Menü sieht doch soooooooooooooo geil aus *g*
</noscript>
Frameset über Javaapplet.

Geht sowas ?

Gruß
Chefkoch

  1. Hi,

    Ist denn damit möglich 2 Framesets aufzurufen, eines mit Java-menü und eines ohne ?

    die einfachste Methode ist, standardmäßig das JavaScript-lose Frameset aufzubauen und den entsprechenden Frame mit location.href (oder besser location.replace()) einfach umzuleiten.

    Oder Du gibst Deinen Besuchern die Wahl :-)

    Cheatah

  2. Hi Chefkoch,

    Also so:
    <noscript>
    Frameset mit Button Menü ohne Java
    +Schade, das Java Menü sieht doch soooooooooooooo geil aus *g*
    </noscript>
    Frameset über Javaapplet.

    Geht sowas ?

    Prinzipiell ja, und zwar so - unterhalb des Heads einen JS-Teil, der über document.write Dein JS-Frameset schreibt. Darunter dann im noscript-Teil wie vorgeschlagen Dein Non-JS-Frameset.

    Grüße,

    Utz

    1. Hi Chefkoch,
      Prinzipiell ja, und zwar so - unterhalb des Heads einen JS-Teil, der über document.write Dein JS-Frameset schreibt. Darunter dann im noscript-Teil wie vorgeschlagen Dein Non-JS-Frameset.

      Grüße,

      Utz

      Auch nochmal Hi,

      Und wie geht sowas ? (Ich kenn mich nämlich mit Javascript überhaupt nicht aus. Das Menü ist ein einfaches dummes Applet mit administrations-ini *g*)

      Gruß
      Chefkoch

      1. Hi,

        dieses Beispiel <../../sfarchiv/2000_2/t12971.htm#a66331> müsste Dir auf die Sprünge helfen - der Rest ist reines HTML.

        Grüße,

        Utz

        1. Hi,

          dieses Beispiel <../../sfarchiv/2000_2/t12971.htm#a66331> müsste Dir auf die Sprünge helfen - der Rest ist reines HTML.

          Grüße,

          Utz

          Auch noch mal Hi,
          sag mal dein Beispiel ..... muüßte diese <script> nicht im Head stehen ?
          Weil so wie in dem Beispiel tut`s hier leider nicht :-(

          Gruß
          Chefkoch

          1. Hi,

            sag mal dein Beispiel ..... muüßte diese <script> nicht im Head stehen ?

            Ne, das gehört schon da hin wo's steht (mal davon abgesehen, dass offiziell da noch language und type definiert werden müssten). Was natürlich in Deinem Fall _nicht_ da hin gehört sind die body-Tags, denn Du willst ja einen Frameset haben.
            Poste doch mal den Code, so wie Du ihn im Moment hast, wahrscheinlich hat sich da ein Fehler eingeschlichen.

            Grüße,

            Utz

            1. Hi,

              sag mal dein Beispiel ..... muüßte diese <script> nicht im Head stehen ?
              Poste doch mal den Code, so wie Du ihn im Moment hast, wahrscheinlich hat sich da ein Fehler eingeschlichen.

              Grüße,

              Utz

              Hi Utz,
              Hier kommt der code:
              (ich hab hundertpro irgendwo nen Fehler drin .... Ich bin da einfach zu dumm zurumzumzum ... ;-) )

              <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
              <html>

              <head>

              <title>IT Forum</title>  
              

              <frameset  rows="90,*" framespacing="0" border=0 frameborder="No">

              <frame name="Titel" src="titel.html" marginwidth="10" marginheight="10" scrolling="no" frameborder="no" border="0">
              <frame name="main" src="haupt.html" marginwidth="10" marginheight="10" scrolling="no" frameborder="no" border="0">

              </frameset>

              </head>
              <body>

              <!--Java Abfrage Start-->
              <SCRIPT>
              document.writeln("<FRAMESET rows="90,*" framespacing="0" border=0 frameborder="No">");
              <frame name="Titel" src="titel.html" marginwidth="10" marginheight="10" scrolling="no" frameborder="no" border="0">
              <frame name="main" src="haupt.html" marginwidth="10" marginheight="10" scrolling="no" frameborder="no" border="0">
              document.writeln("</FRAMESET>");
              </SCRIPT>

              Informationen zur IT-Ausbildung. Mit Forum und Infos zu Projekten und Prüfungen
              <br>

              Schade, Ihr Browser unterstützt keine Frames.<br>
              Keine Frames, keine Kekse ........
              </body>
              </html>

              1. Hi,

                in der Tat, da gibt's ein paar Fehler... *g*

                1. Frameset hat nix im Head zu suchen - er steht statt des Body, und in Deinem Fall innerhalb von <noscript>

                2. Der Scriptteil darf nicht innerhalb eines Body stehen (das wäre dann ja Frameset innerhalb Body, das geht nicht)

                3. Der Scriptteil dürfte aus der Kurve fliegen, da Du sowohl für JS als auch für HTML Anführungszeichen verwendest.

                4. Tja, und Dein Noframe-Text muss natürlich innerhalb eines noframe-Abschnittes notiert sein.

                Also:

                <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
                <html>
                <head>
                <title>IT Forum</title>
                </head>
                <SCRIPT>
                document.writeln('<FRAMESET rows="90,*" framespacing="0" border=0 frameborder="No">');
                           ...usw. (beachte die Hochkommata!)
                </SCRIPT>
                <noscript>
                <frameset  rows="90,*" framespacing="0" border=0 frameborder="No">
                           ...usw.
                </frameset>
                </noscript>
                <noframes>
                <body>
                Schade, Ihr Browser unterstützt keine Frames.
                Keine Frames, keine Kekse ........
                </body>
                </noframes>
                </html>

                Vorschlag: Geh noch mal das SelfHTML-Kapitel über Frames durch und sicherheitshalber mindestens das über Notationsregeln in JS, damit Du weißt, was wo hin muss und warum.

                Grüße,

                Utz

                1. Hi,

                  in der Tat, da gibt's ein paar Fehler... *g*

                  .....

                  Grüße,

                  Utz

                  Hey, hat jedon (kölsch-dialekt).

                  Danke Utz

                  Gruß
                  Chefkoch

  3. Hallo Chefkoch,

    zur Ergaenzung noch ein anderes Beispiel: das Freeware-Javascript-Menue JS-Menue http://www.Rheinbreitbach.net/js-menue/ macht's wie folgt

    <HTML>
    <HEAD>
    <TITLE>...</TITLE>
    <SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
    <!--
    function jsstart(){self.location.href='jsindex.htm'}
    //-->
    </SCRIPT>

    </HEAD>
    <FRAMESET ... ONLOAD="jsstart()">
      <FRAME NAME="menuFrame" ... >
      <FRAME NAME="seiteFrame" ...>
    <NOFRAMES>
    blablabla
    </NOFRAMES>
    </FRAMESET>
    </HTML>

    D.h. es wird ein Frameset definiert, in das HTML-Dateien ohne JavaScript geladen werden - links ein statisches Menue und rechts der Inhalt.
    Bei aktiviertem Javascript wird per onLoad die Datei jsindex.htm geladen, in der ein Frameset mit dem JavaScript-Menue aufgebaut wird. Die jsindex.htm baut dann per JavaScript den kompletten Frameset auf, aber stattdessen tut es auch eine 'normale' HTML-Datei mit Frameset-Definition, in die Du dann auch ein Java-Applet laden kannst.

    Mir wird aus Deinem Posting nicht ganz klar, ob Du Java oder JavaScript fuer das Menue nutzen willst - selbst wenn die Besucher Deiner Seite JavaScript aktiviert haben, heisst das nicht, dass sie auch die Ausfuehrung von Java-Appletts zulassen.

    Viele Gruesse,
    Heiko