因软件更新较快,部分文档内容与软件最新版本有所出入,请知悉。
运行js脚本。
脚本应包含exec()全局函数,并返回0表示成功,返回其他数字表示失败。
本功能 1.43.7+ 版本使用 Jint 库实现(https://github.com/sebastienros/jint),支持更全面的js语法,请参考该库的官网了解详情。1.43.6 及更早版本使用Jurassic库(网址:https://github.com/paulbartrum/jurassic) 实现(仅支持ECMAScript 3 、ECMAScript 5语法与功能)。
示例脚本:
// 主函数 exec()
function exec(){
var localName = quickerGetVar('name'); // 读取name变量值, (name 是动作里的变量)
quickerSetVar('name', 'Hello, ' + localName ); //输出修改后的值到name变量中。
return 0; //返回0表示成功。返回其他数字表示失败。
}
模块参数
输入
- 【脚本内容】要运行的js脚本代码。
- 【允许访问 .Net 程序集】选中此项时,初始化jint引擎会调用
var engine = new Engine(cfg => cfg.AllowClr());
以允许在js代码中访问.net基本类库。请参考jint类库官网文档了解详情。(v1.43.7+) - 【失败后停止】失败后是否停止动作。
输出
- 【是否成功】脚本是否没有遇到运行错误并最终返回0.
- 【返回值】脚本返回的值。
脚本
主函数
Quicker将调用 exec
主函数。
如果执行正常,请返回数字0,否则返回一个非0值表示遇到了问题。
js代码中支持以下预置的方法(v1.43.7+):
log('text')
输出调试信息(仅调试运行时会输出);alert('text')
显示提示消息;
读取动作中的变量值
使用 quickerGetVar
全局函数读取动作中的变量的值。仅支持一部分变量类型,具体请参考jurassic文档。
var localVar = quickerGetVar('动作里的变量名');
输出到变量
使用 quickerSetVar
函数将新的值写入变量中。仅支持一部分变量类型,具体请参考jurassic文档。
quickerSetVar('动作里的变量名', 新的值);
返回值
返回0表示成功,其他数字表示失败。 可以在【返回值】输出中读取此返回值供其他模块使用。
其他
Quicker的列表类型和词典类型在js脚本中使用时是创建的副本,在js中修改这些对象不会影响Quicker变量中的值。如果需要修改变量中的值,需要使用quickerSetVar将整个变量写回。
参考动作
更新历史
- 1.1.13 开始提供此模块。
- 20240702 改为Jint库,支持更新的js语法;js代码中支持log('text')输出调试信息(调试运行时);支持使用alert('text')显示提示消息。(感谢@小布丁的大布丁)