Prüfen ob javascript installiert ist

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Prüfen ob javascript installiert ist

    Hallo alle zusammen

    Ich habe ein kleine sProblem

    Ich habe im iNet nach einem script gesucht, dass überprüft ob beim Client javascript installiert ist. Leider funktioniert es nicht und ich habe keinen Fehler gefunden.

    Also wenn ich mich mit Passwort anmelde, dann wird folgende Datei nach dem anmelden "includet"

    PHP-Code:
    <?php
    session_start
    ();
    $sessionid=session_id();
    if (!
    $_GET["check"])
        {
            
    ?>
            <html>
            <head>
            
            <script type="text/javascript">
            top.location.href="../HWplz/javacheck.php?check=1&sessionid=<?php printf($sessionid); ?>";
            </script>
            </head>
            </html>
            <?php
        
    }
    else
        {
            
            if (
    $_GET["check"]==1)
                {
                    
    $_SESSION["javascript"] = 1;
                }
            else
                {
                    
    $_SESSION["javascript"] = 0;
                }
       
            
        }
    ?>
    und danach wird dann folgende Seite aufgerufen

    PHP-Code:
    <html>
    <head>
    <title>
    HWplz - Postalische Bereinigung Deutschland
    </title>
    <?php
    #error_reporting(E_ALL);
     
    session_start();
    # include ("javacheck.php");  
     
    if (isset ($_SESSION["user_id"])) 
     { 
      if (
    $_SESSION["javascript"] == 1)
      {
        
    ?>
         <applet
      codebase = "."
      code     = "hp_hwplz.App_HP_HWplz.class"
      archive  = "App_HP_HWplz.jar"
      name     = "HWplzApplet"
      width    = "730"
      height   = "560"
      hspace   = "0"
      vspace   = "0"
      align    = "left">
    <param name="sid" value="<?php echo $_SESSION["user_id"]?>">
    </applet>
       <?php
       
    }
       else
       {
         echo
    "Javascript ist nicht installiert.";
       }
     } 
    ?>


    </head>
    <body>
    </body>
    </html>
    Leider wird mir hier imm ausgegeben das javascript nicht installiert ist, aber es ist aktiv. Woran kann das liegen?

  • #2
    ich bin nicht der javascript freak, aber ich vermute dass es mit

    PHP-Code:
    top.location.href 
    zusammenhängt. top.location hört sich für mich nach einem Frame Modell an?!

    Auf jeden Fall scheint "check" nicht per GET übergeben zu werden...

    Versuch mal anstatt dem top.location.href folgendes:

    PHP-Code:
    this.location.href 
    Nur ne Vermutung

    Kommentar


    • #3
      Ne es geht auch nicht.
      Zuletzt geändert von Ceene; 27.09.2007, 10:40.

      Kommentar


      • #4
        Original geschrieben von Ceene
        er verlinkt nun auf die Seite. Also scheint es zu gehen. Muss jetzt nur noch einen Rechner finden auf dem java nicht installiert ist.
        JavaScript != Java !!
        "Nicht jeder Mensch kann und soll Programmieren[...]".

        Kommentar


        • #5
          Das wäre mir nun aber nicht klar gewesen, dass die zwei Sachen nicht die gleichen sind

          Es geht aber auch mit this nicht.

          Kommentar


          • #6
            PHP-Code:
            document.location.href 'file.ext'
            Achja: Dir ist bewusst, dass wenn JS nicht aktiviert ist, der User einfach auf einer leeren Seite steht?

            Mit Hilfe des <noscript>-Tags kannst du da einen Hinweis schreiben:
            PHP-Code:
            <noscript>Bitte JavaScript aktivieren oder <a href="?check=0">hier</aklicken.</noscript
            Dort rein wo du die Javascript-Sessionvar auf 0 setzen willst, wirst du übrigens nie gelangen, da die erste If-Anweisung = 1/true sein muss. Hier mal komplett zusammengefasst:

            PHP-Code:
            <?php
            session_start
            ();
            $sessionid=session_id();

            if (!isset(
            $_GET['check'])) {
                
            ?>
                <html>
                <head>
                
                <script type="text/javascript">
                //<![CDATA[
                    document.location.href="../HWplz/javacheck.php?check=1&sessionid=<?php echo $sessionid?>";
                //]]>
                </script>
                </head>
                <body>
                <noscript>Bitte JavaScript aktivieren oder <a href="?check=0">hier</a> klicken.</noscript>
                </body>
                </html>
                <?php
            }
            else {
                if (
            $_GET["check"] === 1) {
                    
            $_SESSION["javascript"] = 1;
                }
                else {
                    
            $_SESSION["javascript"] = 0;
                }    
            }
            ?>
            Zuletzt geändert von ModestLife; 27.09.2007, 11:04.
            Mein PHP Blog

            Kommentar


            • #7
              Noch als Anmerkung: Javascript kann aktiviert oder nicht aktiviert sein, aber nicht deinstalliert. Es ist ein fester Teil des Browsers. ;-)
              Mein PHP Blog

              Kommentar


              • #8
                Original geschrieben von ModestLife
                Achja: Dir ist bewusst, dass wenn JS nicht aktiviert ist, der User einfach auf einer leeren Seite steht?
                bedingt richtig...
                kommt ganz auf das datei-konstrukt an.

                PHP-Code:
                if ($_SESSION["javascript"] == 1)
                  {
                    ....
                   }
                   else  
                // js deaktiviert = $_SESSION["javascript"] != 1  !!!
                   
                {
                     echo
                "Javascript ist nicht installiert.";
                   } 
                sag mal bitte, wie die einzelnen dateien bei dir heißen, und wo sie liegen...


                viel mehr wundert mich, das kein "headers already sent" kommt.... session start ist nach aussage in deiner zweiten datei gesetzt.

                nächste frage: ist session[user_id] gesetzt?
                **********
                arkos
                **********

                Kommentar


                • #9
                  Es ist ein fester Teil des Browsers. ;-)
                  Vieler Browser, längst nicht aller.
                  PHP-Code:
                  <script type="text/javascript" language="JavaScript">
                    
                  document.write('<img src="leerpix.php?javascript=on" >');
                  </
                  script>
                  <
                  noscript>
                    <
                  img src="leerpix.php?javascript=off">
                  </
                  noscript
                  Das Ergebniss solltest du dir dann in Session o.ä. merken.
                  Sollte die Variable gar nicht gesetzt werden, hast du einen TextBrowser auf der anderen Seite. zb. lynx oder ein Braille Gerät.
                  Zuletzt geändert von combie; 27.09.2007, 11:33.
                  Wir werden alle sterben

                  Kommentar


                  • #10
                    oder gleich mit innerHTML dat ganze applet in die seite divn
                    **********
                    arkos
                    **********

                    Kommentar


                    • #11
                      Ich hab das nun so gemacht, aber es geht immer noch nicht.

                      App_HP_HWplz.php
                      PHP-Code:
                      <html>
                      <head>
                      <title>
                      HWplz - Postalische Bereinigung Deutschland
                      </title>
                      <?php
                      #error_reporting(E_ALL);
                       
                      session_start();
                      # include ("javacheck.php");  
                       
                      if (isset ($_SESSION["user_id"])) 
                       { 
                            if (!isset(
                      $_GET['check'])) {
                          
                      ?>
                          <html>
                          <head>
                          
                          <script type="text/javascript">
                          //<![CDATA[
                              document.location.href="App_HP_HWplz.php?check=1&sessionid=<?php echo $sessionid?>";
                          //]]>
                          </script>
                          </head>
                          <body>
                          <noscript>Bitte JavaScript aktivieren oder <a href="?check=0">hier</a> klicken.</noscript>
                          </body>
                          </html>
                          <?php
                      }
                      else {
                          if (
                      $_GET["check"] == 1)
                                  {
                                      
                      ?>
                           <applet
                        codebase = "."
                        code     = "hp_hwplz.App_HP_HWplz.class"
                        archive  = "App_HP_HWplz.jar"
                        name     = "HWplzApplet"
                        width    = "730"
                        height   = "560"
                        hspace   = "0"
                        vspace   = "0"
                        align    = "left">
                      <param name="sid" value="<?php echo $_SESSION["user_id"]?>">
                      </applet>
                      <?php
                                  
                      }
                              else
                                  {
                                      echo 
                      "Leider ist auf Ihrem Rechner kein javascript installiert.";
                                  }
                              
                          }
                      }

                      ?>


                      </head>
                      <body>
                      </body>
                      </html>
                      Wenn javascript nicht aktiviert ist will ich die Meldung mit echo ausgeben.

                      Ich habe auf meinem Testrechner die Java Runtime.... deinstalliert um das zu testen, aber er fürt das Javascript immer noch aus. Wo muss ich das denn deaktivieren?
                      Zuletzt geändert von Ceene; 27.09.2007, 11:30.

                      Kommentar


                      • #12
                        1. du gibst u.U. zwei mal <html> <head> etc aus

                        2. steht session_start() nach immer nach der ersten ausgabe

                        3. bezweifel ich, dass das zutrifft: if (isset ($_SESSION["user_id"]))


                        edit:
                        4. #error_reporting(E_ALL); warum ist das auskommentiert!!!!!!!
                        Zuletzt geändert von arkos; 27.09.2007, 11:34.
                        **********
                        arkos
                        **********

                        Kommentar


                        • #13
                          Original geschrieben von arkos
                          1. du gibst u.U. zwei mal <html> <head> etc aus

                          2. steht session_start() nach immer nach der ersten ausgabe

                          3. bezweifel ich, dass das zutrifft: if (isset ($_SESSION["user_id"]))


                          edit:
                          4. #error_reporting(E_ALL); warum ist das auskommentiert!!!!!!!
                          1. behoben
                          2. session_start() steht bei mir immer am anfang.
                          3 es trifft zu, da es immer gesetzt ist.
                          4 weil mir sonst eine weiße Seite ngezeigt iwrd
                          Zuletzt geändert von Ceene; 27.09.2007, 11:40.

                          Kommentar


                          • #14
                            Original geschrieben von Ceene
                            1. behoben
                            2. session_start() steht bei mir immer am anfang.
                            3 es trifft zu, da es immer gesetzt ist.
                            4 weil mir sonst eine weiße Seite ngezeigt iwrd
                            1. ZEIGEN!
                            2. GELOGEN!!!

                            PHP-Code:
                            <html>
                            <head>
                            <title>
                            HWplz - Postalische Bereinigung Deutschland
                            </title>
                            <?php
                            #error_reporting(E_ALL);
                             
                            session_start();

                            ...

                            steht immer am anfang =
                            PHP-Code:
                            <?php
                            session_start
                            ();
                            error_reporting(E_ALL);
                            ?>
                            <html>
                            <head>
                            <title>
                            HWplz - Postalische Bereinigung Deutschland
                            </title>
                            ...

                            3. MIT print_r($_Session); belegen bitte

                            4. = dann sind wohl massig fehler drinne
                            **********
                            arkos
                            **********

                            Kommentar


                            • #15
                              Original geschrieben von combie
                              Vieler Browser, längst nicht aller.
                              Wenn ich sowas sage, spreche ich von relevaten Browsern. Und die können das alle ...
                              Mein PHP Blog

                              Kommentar

                              Lädt...
                              X