Michaela: Anführungszeichen in übergebenen String

Hallo,

ich hoffe mir kann jemand weiterhelfen. Folgender Funktion in meiner Seite wird ein String übergeben.

function run_program(Startwunsch)
{
 obj=new ActiveXObject('WScript.Shell');
 obj.Exec(Startwunsch);
}

In dem String kommt ein Anführungszeichen vor, welches ich aber schon mit einem \ als Sonderzeichen deklariert habe. Trotz  des \ bekomme ich eine Fehlermeldung in der Zeile, wo die Funktion aufgerufen wird.
Fehler: Nicht abgeschlossene Zeichenfolgekonstante.

Weiß jemand Rat?

Gruss, Michaela

  1. alerte startwunsch :P
    Wie sieht der string aus...

    1. alerte startwunsch :P
      Wie sieht der string aus...

      alert funktioniert nicht bei dem Link mit Anführungszeichen. Hier der Quelltext:

      <a href="#" onClick="run_program('P:\OL2K\PFiles\MSOffice\Office\OUTLOOK.EXE /recycle Outlook:Posteingang/~Testmail: "Test Sonderzeichen"')">
      AW: Testmail: "Test Sonderzeichen"
      </a>

      1. Hallo Michaela,

        es liegt nicht am Anführungszeichen. Es gibt in JavaScript
        sogenannte reguläre Ausdrücke. So etwas z.B:

        var Ausdruck = /(\w.+)\s(\w.+)/;

        d.h. die Browser interpretieren auch den normalen Schrägstrich
        als Textbegrenzungszeichen. Wenn Du auch diese über / verschlüsselst, müßte es eigentlich klappen.

        Gruß
        Groophty

        1. Hi Groophty,

          es liegt nicht an den normalen Schrägstrichen, denn sonst würden die anderen Links ohne Anführungsstriche ja nicht funktionieren. Habe trotzdem die Schrägstriche verschlüsselt. Link sieht jetzt so aus:

          <a href="#" onClick="run_program('P:\OL2K\PFiles\MSOffice\Office\OUTLOOK.EXE /recycle Outlook:Posteingang/~Testmail: "Test Sonderzeichen"')">AW: Testmail: "Test Sonderzeichen"</a>

          Es kommt aber weiterhin die gleiche Fehlermeldung.

          Gruss, Michaela

          Hallo Michaela,

          es liegt nicht am Anführungszeichen. Es gibt in JavaScript
          sogenannte reguläre Ausdrücke. So etwas z.B:

          var Ausdruck = /(\w.+)\s(\w.+)/;

          d.h. die Browser interpretieren auch den normalen Schrägstrich
          als Textbegrenzungszeichen. Wenn Du auch diese über / verschlüsselst, müßte es eigentlich klappen.

          Gruß
          Groophty

          1. Hallo nochmal,

            mit einem kleinen TestHTMelchen habe ich mir mal angesehen,
            was die Browser aus Deinem <A>-Tag eigentlich machen:

            <HTML>
            <HEAD><SCRIPT type="Text/JavaScript">
            function Zeige () {
               alert (document.getElementsByTagName("body")[0].innerHTML);
            }
            </SCRIPT></HEAD>
            <BODY>
            <A href="#" onClick="run_program('P:\OL2K\PFiles\ ... u.s.w.
            <BR><BR><A href="JavaScript:Zeige();">Zeige</A>
            </BODY>
            </HTML>

            Und in der Tat scheinen sie die folgende Kombination nicht zu mögen
            onClick=" ... ' ... " ... " ... ' ... "
            Sowohl Netscape als auch IE bendeten die Interpretation des Literals
            nach dem ersten "
            Als ich die beiden " durch ' ersetzt habe, sah das Ergebnis
            zumindest sinnvoll aus.

            Du kannst ja selber ein wenig experimentieren und findest vielleicht
            Deine optimale Lösung.

            Gruß Groophty