繁体   English   中英

在LiveCycle Designer中包括Moment.js

[英]Including Moment.js in LiveCycle Designer

几天来,我一直在尝试使用Adobe Livecycle Designer创建的动态PDF中包含实际的Moment.js库。

我们使用了较旧的版本(1.7.2),没有任何问题,但是现在我仅收到“功能不存在”错误。

有人对此有任何经验吗?

提前致谢。

如何在Adobe LiveCycle表单中包含Moment.js:

  1. 下载缩小的脚本
  2. 在LiveCycle Designer中,打开表单并创建一个名为MOMENTJSMIN的脚本对象。
  3. 将缩小的脚本复制到该脚本对象中
  4. 在LiveCycle Designer的“脚本编辑器”窗口中,按以下方式编辑MOMENTJSMIN脚本对象:
  5. 删除所有脚本,直到但不包括第二个花括号{:

     !function(a,b){"object"==typeof exports&&"undefined"!=typeof module?module.exports=b():"function"==typeof define&&define.amd?define(b):a.moment=b()}(this,function() 
  6. 从缩小的脚本的末尾删除圆括号和分号

  7. 将此行添加到缩小脚本的开头:

     if (xfa.momentjs == undefined) xfa.momentjs = function() 
  8. 在MOMENTJSMIN脚本对象中,在脚本结束后添加以下函数:

     function getMomentJS(){ return xfa.momentjs(); } 

现在,您的MOMENTJSMIN脚本对象已设置为在整个表单中向脚本提供Moment.js。

要在任何脚本中使用Moment.js,请使用以下行启动脚本对象或事件脚本:

var moment = MOMENTJSMIN.getMomentJS();

现在,您可以在脚本中以该行开头的任何地方使用moment()。 例如:

var moment = MOMENTJSMIN.getMomentJS();
var jan07 = moment([2007, 0, 29]);
app.alert(moment().format("dddd, MMMM Do YYYY, h:mm:ss a"));
app.alert(jan07.format("dddd, MMMM Do YYYY") + " was " + jan07.fromNow());
app.alert(moment.isDate(new Date()));

我首先要检查的是:

  • 在尝试从脚本中调用函数之前,请确保脚本已完全加载。 (检查事件,在其中调用函数计算,form:readty等。)
  • 检查脚本引用。 正确的道路? 正确的名字?
  • 检查功能是否确实存在
  • 检查功能参数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM