我正在使用 JSFL 编写一些脚本,我需要从一些配置文件中解析 json 字符串,所以我需要 JSFL 可以解析 json 字符串,但是 JSFL 似乎不能这样做。然后我想在 JSFL 文件中包含一些 json lib,比如 json.js。
我可以将 json.js 文件包含到我的 JSFL 文件中吗?
对不起我的英语不好。
我正在使用 JSFL 编写一些脚本,我需要从一些配置文件中解析 json 字符串,所以我需要 JSFL 可以解析 json 字符串,但是 JSFL 似乎不能这样做。然后我想在 JSFL 文件中包含一些 json lib,比如 json.js。
我可以将 json.js 文件包含到我的 JSFL 文件中吗?
对不起我的英语不好。
绝对最低限度是:
// #include Config._jsfl
var scriptPath = FLfile.uriToPlatformPath(fl.scriptURI);
var scriptPathEnd = scriptPath.lastIndexOf("\\");
scriptPath = scriptPath.slice(0, scriptPathEnd + 1);
fl.runScript(FLfile.platformPathToURI(scriptPath + "Config._jsfl")); /*jsl:import Config._jsfl*/
这或多或少是从我的代码中复制的,包括 JSL 标记。我将任何库的扩展名设为 ._jsfl,这样如果它位于 Flash 的 Commands 文件夹中,它们就不会出现在菜单中。
我编写了一组静态类(日志系统、URI 转换、数组实用程序函数)并编写了一个全局include
函数,使用它们根据运行脚本的位置自动将相对路径转换为绝对 URI,这样我就可以说include("file._jsfl");
简化我的脚本。但是,我所有的脚本都必须首先包括如上所示才能获得该include
功能。由于我的 include 函数依赖于一些静态类,所以我没有在这里粘贴它。
编辑:拼写错误。
如果库是本地的,您可以将其存储在 Flash 配置路径的子文件夹中,即
C:\Users\username\AppData\Local\Adobe\Flash CS6\language\Configuration\jslibs
然后,很容易将它包含在一行中:
fl.runScript(fl.configURI + "jslibs/file.js");