Gereon: Per Javascript Javascript ausführen

Hallo,

ich habe eine XML- Datei in der verschiedene Artikel mit Merkmalen und den Optionen zu den Merkmalen stehen. Nun gibt es aber Ausschlussbedingungen, die z.B. die Kombatibilität zwischen zwei verschiedenen Optionen negieren. Diese Bedingungen liegen jetzt ebenfalls in der XML Datei als "Javascript- String" vor.

Gibt es eine Möglichkeit per Javascript Javascript, welches in einem String liegt oder allg. in einer nicht-.js Datei, auszuführen, wie es z.B. in PHP mit der exec() Funktion möglich ist?

Liebe Grüsse

Gereon

  1. Hallo,

    Dazu nutzt du eval().

    Grüße
    Jeena Paradies

    1. eval().

      So wie ich das verstehe, lassen sich damit nur Ausdrücke parsen, aber keine Bedingungen etc.

      Wenn ich z.B. das hier in einem String zum Parsen habe:

      <code>
      var bewerten = true;

      if (Lampe == "an") {
        if (Licht == "da") {
            bewerten = false;
        }
      }
      </code>

      und ich möchte schlussendlich den Wert von bewerten wissen, kann ich das , dann mit eval() machen??

      1. Lieber Gereon,

        eval().

        So wie ich das verstehe, lassen sich damit nur Ausdrücke parsen, aber keine Bedingungen etc.

        Nein. Es lassen sich damit "Argumente" parsen, nicht nur Ausdrücke. Und soweit ich das verstehe, bedeutet "Argument" in etwa soviel, wie "gültiger Code".

        Liebe Grüße aus Ellwangen,

        Felix Riesterer.

      2. Hallo,

        So wie ich das verstehe, lassen sich damit nur Ausdrücke parsen, aber keine Bedingungen etc.

        Damit wird JavaScript aus einem String ausgeführt.

        var bewerten = true;
        if (Lampe == "an") {
          if (Licht == "da") {
              bewerten = false;
          }
        }
        und ich möchte schlussendlich den Wert von bewerten wissen, kann ich das , dann mit eval() machen??

        Wie oben erwähnt wird mit eval() das JavaScript aus dem String direkt ausgeführt. Es ist danach so als ob das ganze nicht im String stehen würde sondern als ob es in deiner JS Date gestanden hätte. Du kannst dann mit JS die Variable bewerten abfragen:

        var jsString = '  
         var bewerten = true;  
          
         if (Lampe == "an")  
          if (Licht == "da") bewerten = false;'  
          
        eval(jsString);  
          
        alert(bewewrten);
        

        Grüße
        Jeena Paradies

        1. hi,

          var jsString = '

          var bewerten = true;

          if (Lampe == "an")
            if (Licht == "da") bewerten = false;'

            
          Dein Javascript-Interpreter erlaubt über Zeilengrenzen hinausgehende Notation von Literalen ...?  
            
          gruß,  
          wahsaga  
            
          
          -- 
          /voodoo.css:  
          #GeorgeWBush { position:absolute; bottom:-6ft; }
          
          1. Hallo,

            Dein Javascript-Interpreter erlaubt über Zeilengrenzen hinausgehende Notation von Literalen ...?

            Nein natürlich nicht, ich hatte das beim Schreiben des Beispiels nur vergessen.

            Grüße
            Jeena Paradies