Включая Moment.js в LiveCycle Designer
В течение нескольких дней я пытался включить фактическую библиотеку Moment.js в свой динамический PDF, который я создал с помощью Adobe Livecycle Designer.
Мы использовали старую версию (1.7.2) без каких-либо проблем, но теперь я получаю только ошибку "Функция не существует".
У кого-нибудь есть опыт с этим?
Заранее спасибо.
2 ответа
Как включить Moment.js в форму Adobe LiveCycle:
- Скачать минимизированный скрипт
- В LiveCycle Designer откройте вашу форму и создайте объект Script с именем MOMENTJSMIN
- Скопируйте минимизированный скрипт в этот объект скрипта
- В окне редактора сценариев LiveCycle Designer отредактируйте объект сценария MOMENTJSMIN следующим образом:
Удалить все сценарии до, но не включая вторую фигурную скобку {:
!function(a,b){"object"==typeof exports&&"undefined"!=typeof module?module.exports=b():"function"==typeof define&&define.amd?define(b):a.moment=b()}(this,function()
Удалите округленные скобки и точку с запятой в конце минимизированного сценария.
Добавьте эту строку в начало минимизированного скрипта:
if (xfa.momentjs == undefined) xfa.momentjs = function()
В объект сценария MOMENTJSMIN добавьте эту функцию после завершения сценария:
function getMomentJS(){ return xfa.momentjs(); }
Теперь ваш объект сценария MOMENTJSMIN настроен для предоставления Moment.js сценариям по всей вашей форме.
Чтобы использовать Moment.js в любом из ваших сценариев, запустите ваш объект сценария или сценарий события со следующей строкой:
var moment = MOMENTJSMIN.getMomentJS();
Теперь вы можете использовать момент () в любом месте скрипта, который начинается с этой строки. например:
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()));
Что я бы проверил первым:
- Убедитесь, что ваш скрипт полностью загружен, прежде чем пытаться вызвать из него функции. (проверьте событие, где вы вызываете функцию-рассчитать, форма:readty и т. д.)
- Проверьте ссылку на скрипт. Правильный путь? Правильное имя?
- Проверьте, существует ли функция на самом деле
- Проверьте параметры функции.