Prüfen ob javascript installiert ist

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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

    Comment


    • #3
      Ne es geht auch nicht.
      Last edited by Ceene; 27-09-2007, 09:40.

      Comment


      • #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[...]".

        Comment


        • #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.

          Comment


          • #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;
                }    
            }
            ?>
            Last edited by ModestLife; 27-09-2007, 10:04.
            Mein PHP Blog

            Comment


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

              Comment


              • #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
                **********

                Comment


                • #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.
                  Last edited by combie; 27-09-2007, 10:33.
                  Wir werden alle sterben

                  Comment


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

                    Comment


                    • #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?
                      Last edited by Ceene; 27-09-2007, 10:30.

                      Comment


                      • #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!!!!!!!
                        Last edited by arkos; 27-09-2007, 10:34.
                        **********
                        arkos
                        **********

                        Comment


                        • #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
                          Last edited by Ceene; 27-09-2007, 10:40.

                          Comment


                          • #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
                            **********

                            Comment


                            • #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

                              Comment

                              Working...
                              X