如何在 JSFL 文件中包含一些 js 文件?
Posted
技术标签:
【中文标题】如何在 JSFL 文件中包含一些 js 文件?【英文标题】:How can I include some js file in JSFL file? 【发布时间】:2012-07-23 13:16:24 【问题描述】:我正在使用 JSFL 编写一些脚本,我需要从一些配置文件中解析 json 字符串,所以我需要 JSFL 可以解析 json 字符串,但是 JSFL 似乎无法做到这一点。然后我想在 JSFL 文件中包含一些 json lib,比如 json.js。
如何将 json.js 文件包含到我的 JSFL 文件中?
对不起我的英语。
【问题讨论】:
【参考方案1】:绝对最低限度是:
// #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 函数依赖于一些静态类,所以我没有在这里粘贴。
编辑:拼写错误。
【讨论】:
【参考方案2】:如果库是本地的,您可以将其存储在 Flash 配置路径的子文件夹中,即
C:\Users\username\AppData\Local\Adobe\Flash CS6\language\Configuration\jslibs
然后,很容易将它包含在一行中:
fl.runScript(fl.configURI + "jslibs/file.js");
【讨论】:
以上是关于如何在 JSFL 文件中包含一些 js 文件?的主要内容,如果未能解决你的问题,请参考以下文章
如何在聚合物 3 中包含外部 html 文件和 js 文件?
如何在 keycloak 的 ftl 文件中包含 React js 文件?