UI スクリプト
UI スクリプトを使用すると、クライアント側の JavaScript を再利用可能な形式にパッケージ化できます。これは、スクリプトインクルードがサーバー側の JavaScript を格納する方法と似ています。アドミニストレーターは、UI スクリプトを作成し、それらをクライアントスクリプト、他のクライアント側のスクリプトオブジェクト、および HTML コードから実行できます。
UI スクリプトはモバイルではサポートされていません。
グローバル UI スクリプト
UI スクリプトを作成してグローバルとして指定すると、システム内の任意のフォームでスクリプトを使用できるようになります。スコープ対象のアプリケーションからグローバル UI スクリプトを作成することはできません。
UI スクリプトをグローバルとして指定すると、システム内の任意のフォームが使用できるようになります。たとえば、関数 helloWorld() を持ち、[グローバル] フィールドがオンになっている UI スクリプトを作成できます。
function helloWorld() {
alert('Hi');
}このグローバル UI スクリプトを作成した後、作成したクライアントスクリプトまたは UI ポリシーから helloWorld() 関数を呼び出すことができます。
UI スクリプトの作成
再利用可能なクライアント側の JavaScript コードを定義する UI スクリプトを作成します。
手順
| フィールド | 説明 |
|---|---|
| スクリプト名 | UI スクリプトの名前。名前がシステム上で一意であることを確認してください。 |
| API 名 | スコープとスクリプト名を含む、UI スクリプトの API 名 (x_custom_app.HelloWorld など)。 |
| アプリケーション | UI スクリプトを含むアプリケーション。 |
| アクティブ | UI スクリプトがアクティブかどうかを示すインジケーター。アクティブな UI スクリプトのみを実行できます。 |
| グローバル | スクリプトがシステム内のすべてのページでロードされるかどうかを示すインジケーター。 注: パフォーマンスに影響を与える可能性があるため、グローバル UI スクリプトを作成するときは注意が必要です。スコープ対象のアプリケーションからグローバル UI スクリプトを作成することはできません。 |
| 説明 | スクリプトの目的の概要。 |
| スクリプト | 他のスクリプトから呼び出されたときに実行するクライアント側のスクリプト。 |
UI スクリプトの実行
UI スクリプトを実行するときは、次のガイドラインに従ってください。
フォームからの UI スクリプトの実行
フォームで UI スクリプトを実行するには、フォーマッターを作成してフォームに追加します。関連する UI マクロで、 g:requires タグを含め、name= パラメーターを UI スクリプト名の後に .jsdbx 拡張子を付けて指定します。フォームビューにフォーマッターを追加します。
このコードにより、UI スクリプトの定義と結果をブラウザーですぐに利用できるようになります。
<?xml version="1.0" encoding="utf-8" ?>
<j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide" xmlns:j2="null" xmlns:g2="null">
<g2:evaluate var="jvar_stamp">
var now_GR = new GlideRecord('sys_ui_script');
gr.orderByDesc('sys_updated_on');
gr.query();
gr.next();
gr.getValue('sys_updated_on');
</g2:evaluate>
<g:requires name="<UI SCRIPT NAME>.jsdbx" params="cache=$[jvar_stamp]" />
</j:jelly>HTML での UI スクリプトの呼び出し
HTML コードから UI スクリプトを実行するには、 <![CDATA[<script>]]> タグを使用し、 src= 引数を UI スクリプトの API 名の後に .jsdbx 拡張子を付けて指定します。たとえば、CoolClock という名前の UI スクリプトを次のコードに含めます。
<script language="javascript" src="CoolClock.jsdbx" />クライアント側のコードからの UI スクリプトの呼び出し
g_ui_scripts グローバルオブジェクトを使用して、クライアント側のコード内から UI スクリプトにアクセスします。詳細については、次を参照してください。 GlideUIScript -クライアント.