2017-01-13 5 views
0

Kurz gesagt, ich versuche Log für einen Fehler von meinem Imacros-Skript zu tun. Wenn die Seite mit der Überschrift Kapitel 1 erreicht wird, bedeutet dies, dass der vorherige Code nicht funktioniert.Falsches SET-Format. Nicht sicher, welche ich falsch gemacht habe

TAG POS=1 TYPE=H1 ATTR=TXT:Chapter<SP>One EXTRACT=TXT 


SET !VAR2 EVAL("var text=\"{{!EXTRACT}}\"; if(text==\"Chapter One\") {iimPlay("code: ADD !extract {{!NOW:yyyymm}}\nADD !extract {{!COL2}}\nADD !extract Cannot<SP>Access<SP>Page\nSAVEAS TYPE=EXTRACT FOLDER=* FILE=logs.txt");iimPlay("0-DeleteAll.iim");};text;") 

Der Fehler zeigt auf diese Zeile.

SET !VAR2 EVAL("var text=\"{{!EXTRACT}}\"; if(text==\"Chapter One\") {iimPlay("code: ADD !extract {{!NOW:yyyymm}}\nADD !extract {{!COL2}}\nADD !extract Cannot<SP>Access<SP>Page\nSAVEAS TYPE=EXTRACT FOLDER=* FILE=logs.txt");iimPlay("0-DeleteAll.iim");};text;") 

falsches Format der SET-Befehl, Zeile 43 (Fehlercode: -910)

Nicht sicher eine, die. Es muss offensichtlich sein, Teil.

Antwort

0

Der Fehler ist das Ergebnis eines nicht deklarierten Anführungszeichen in der EVAL-Zeichenfolge, speziell an der Zeichenposition 79 in der Zeile, die den SET-Befehl enthält. Da der Hauptparameter von EVAL ein Zeichenfolgenwert ist, müssen alle eingebetteten Anführungszeichen mit dem Zeichen \, z. \ ".

Noch wichtiger, auch wenn Sie die eingebetteten Anführungszeichen beheben, wird dieser Code nicht funktionieren, weil Sie nicht iimPlay oder andere iMacros Scripting-Interface-Methode innerhalb von EVAL aufrufen kann. Die Javascript-Engine von der EVAL-Befehl ausgeführt wird In einem anderen Kontext als die Haupt-Javascript-Engine, die vom Browser verwendet wird, führen Aufrufe von iimPlay zu "iimPlay ist nicht definiert" (Fehlercode: -1001).

Verwandte Themen