Applescript Javascript mehrzeilig

0

Wie können wir mit document.getElementsByClassName mehrzeiligen Text in Chrome hinzufügen? Ich habe kein Problem, wenn es eine Zeile ist, aber wenn ich mehr als eine Zeile habe, fehlt stattdessen ein Wert

  set myCaseNote to "MULTIPLE
    LINE
    TEXT
    HERE"

    tell application "Google Chrome"
        tell tab 3 of window 1 to set RemoveBtRestriction to execute javascript ¬
            " document.getElementsByClassName('text-entry')[1].value=" & quoted form of myCaseNote & ""
    end tell

Ergebnis: fehlender Wert

Kevin
quelle
Wie ich Ihnen in einer Ihrer anderen Fragen mit `& amp; "" `am Ende einer Codezeile tut überhaupt nichts! Mit anderen Worten, Sie verketten buchstäblich nichts bis zum Ende der Codezeile. JavaScript-Code in diesem Anwendungsfall endet normalerweise mit einem Semikolon. Wenn Sie also etwas verketten sollten, `& amp; ";" `danach!
user3439894

Antworten:

1
set myCaseNote to "MULTIPLE\\nLINE\\nTEXT\\nHERE"

Das Aufteilen der Zeichenfolge auf mehrere physische Zeilen verursacht einen Syntaxfehler im JavaScript. Verwenden Sie stattdessen ein Newline-Zeichen.

Ich sehe, dass du es wirklich liebst, am Ende deiner Verkettungen an diesen leeren Strings festzuhalten. Ich erkenne dies jetzt als Ihr Markenzeichen.


Ich habe diese Antwort vorübergehend gelöscht, als sie nicht wie erwartet funktioniert hat. Dann erkannte ich den Newline-Charakter \n muss zweimal geflüchtet werden, es wird also geschrieben als \\n.

Es funktioniert jetzt.

CJK
quelle
Ja, ich bekomme immer wieder das falsche Snippet mit den leeren Zeichenfolgen. Die Antwort funktioniert einwandfrei. Ich werde ein Skript finden, das die Zeile automatisch durch \ n ersetzt. Vielen Dank!
Kevin