在Java编译的脚本中调用Javascript函数's编写API脚本
Invoking a Javascript function in a compiled script in Java's Script API
我有一些代码可以成功地加载和编译脚本。这很有效。不过,接下来,我希望能够在编译后的脚本中调用一个函数。不幸的是,我看不出有任何方法可以调用编译后的脚本。
Compilable compEngine = (Compilable)engine;
compiledScripts.put(filename, compEngine.compile(new InputStreamReader(in)));
compiledScripts.get(filename).eval();
//All works until this point. The compiled script does not seem to be invokable.
Invocable inv = (Invocable) compiledScripts.get(filename);
inv.invokeFunction("onLoad");
有办法做到这一点吗?如果是,如何?如果没有,在不编译脚本时,他们的性能通常会受到多大影响?
我找到了问题的答案。这实际上是一个非常简单的改变。
此行:
Invocable inv = (Invocable) compiledScripts.get(filename);
需要更改为:
Invocable inv = (Invocable) compiledScripts.get(filename).getEngine();
这将返回已编译脚本正在运行的引擎,从而允许我们从已编译脚本中调用函数。
相关文章:
- 是否可以控制获取哪些Google地图脚本(JavaScript API)
- 当没有互联网连接时,谷歌地图Java脚本API处理
- Chrome存储API无法使用内容脚本
- API用于跨站点脚本
- 谷歌应用程序脚本html服务和加载谷歌地图javascript api V3
- Google 日历 API V3 会解决与会者和创建者 Java 脚本问题
- 谷歌地图API v3-API脚本压缩/混淆
- 如何转换SalesForce Api提供的UTC日期格式,并使用Google Apps脚本将其转换为本地日期和时间格式
- 在html中使用谷歌脚本api
- 如何使用应用程序脚本执行API从谷歌工作表中提取数据
- 将Dropbox API脚本加载到chrome扩展时出错
- 在过去24小时内,谷歌应用程序脚本或可视化API的任何变化
- 使用Java脚本访问多个Google日历-Google日历API
- 如何在不添加html脚本标记的情况下使用google-maps-api-v3
- 应用程序脚本高级驱动器API服务-newFile()方法未创建文件
- 将信息从暴雪API提取到谷歌脚本中的数组中
- (谷歌API)单元格引用中的动态工作表和工作表创建脚本的名称
- 使用 Java 脚本 SDK 的 Facebook API 发布操作
- 谷歌地图 API 脚本标记
- 使用java javascript脚本API操作HTML节点