Anführungszeichen in übergebenen String
Michaela
- javascript
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
alerte startwunsch :P
Wie sieht der string aus...
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>
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
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
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