私はssjs関数を持っています。これは、自己完結型のXPagesカスタムコントロールで2回しか呼び出されていません。XPages:SSJS関数をライブラリに入れずに再利用することはできますか?
XPage/CustomControl自体にこの機能を保存し、それを別のJavaScriptライブラリに保存せずに直接呼び出す方法はありますか?
私はssjs関数を持っています。これは、自己完結型のXPagesカスタムコントロールで2回しか呼び出されていません。XPages:SSJS関数をライブラリに入れずに再利用することはできますか?
XPage/CustomControl自体にこの機能を保存し、それを別のJavaScriptライブラリに保存せずに直接呼び出す方法はありますか?
これはこれができる方法です:
ComputedField(たとえば、「local_ssjs
」という名前)を追加し、文字列値として目的の共有jsコードを生成させます。
例えば:あなたのイベントで"function returnFour(){retrun (4)};"
、共有コードを取得し、にeval()
機能を使用するには、それを含めます。
var sharedCode = getComponent("local_ssjs").getValue(); eval(sharedCode); var xFour = returnFour();
は、計算フィールドは、関数定義が含まれている場合でも、これはOKに動作します。
"グローバルスコープ"がないため、xpage/customコントロールのさまざまなイベントから関数を参照できないため、私の意見では不可能です。このSSJS関数をライブラリに入れなければなりません!
私はゲオルグが言っているものの2倍です。ライブラリに関数を入れますが、呼び出しを行うカスタムコントロール/ xpageのリソースとしてインクルードするだけです。不要な他のページやコントロールにはロードされません。