2

数日間、Adobe Livecycle Designer で作成した動的 PDF に実際の Moment.js ライブラリを含めようとしました。

以前のバージョン (1.7.2) を問題なく使用しましたが、現在は「関数が存在しません」というエラーしか表示されません。

誰もこれに経験がありますか?

前もって感謝します。

4

2 に答える 2

5

Moment.js を Adob​​e LiveCycle フォームに含める方法:

  1. 縮小されたスクリプトをダウンロードする
  2. LiveCycle Designer でフォームを開き、MOMENTJSMIN というスクリプト オブジェクトを作成します。
  3. 縮小されたスクリプトをそのスクリプト オブジェクトにコピーします。
  4. LiveCycle Designer の Script Editor ウィンドウで、MOMENTJSMIN Script Object を次のように編集します。
  5. 2 番目の中かっこ { :

    !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();
    }
    

これで、フォーム全体のスクリプトに Moment.js を提供するように MOMENTJSMIN スクリプト オブジェクトが設定されました。

スクリプトで 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()));
于 2015-06-18T16:23:17.317 に答える
0

最初に確認すること:

  • スクリプトから関数を呼び出す前に、スクリプトが完全にロードされていることを確認してください。(function-calculate、form:readty などを呼び出すイベントを確認してください。)
  • 参照しているスクリプトを確認してください。正しい道?正しい名前?
  • 関数が本当に存在するかどうかを確認する
  • 関数パラメーターを確認してください。
于 2014-10-28T13:08:53.477 に答える