错误的SET格式。不确定哪一个我做错了

时间:2017-01-13 12:23:07

标签: javascript firefox eval imacros

总之,我正在尝试记录我的imacros脚本的错误。如果它到达带有标题第一章的页面,则意味着先前的代码不起作用。

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;")

指向此行的错误。

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;")
  

SET命令格式错误,第43行(错误代码:-910)

不确定是哪一个。 它必须是明显的一部分。

1 个答案:

答案 0 :(得分:0)

错误是EVAL字符串中未转义的双引号字符的结果,特别是在包含SET命令的行上的字符位置79。由于EVAL的主要参数是字符串值,因此必须使用\字符对任何嵌入的引号进行转义,例如\&#34;

但更重要的是,即使您修复了嵌入的引号字符,此代码也无法工作,因为您无法在EVAL中调用iimPlay或任何其他iMacros脚本接口方法。 EVAL命令使用的Javascript引擎运行在与浏览器使用的主Javascript引擎不同的上下文中,因此对iimPlay的调用将导致&#34; iimPlay未定义&#34; (错误代码:-1001)。