$p.events.on_editor_loadを複数設定できるようにしたい
回答¶
以下いずれかの方法で実現できます。
1. 実行したい処理を配列に追加し、$p.events.on_editor_loadで配列に格納した処理を順次呼び出す。
1. 実行したい処理を1つのファンクションとして定義し、$p.events.on_editor_loadで順次ファンクションを呼び出す。
概要¶
複数のスクリプトファイルに渡って$p.events.on_editor_loadを複数書くとスクリプトが上書きされてしまい、一番最新のものしか動作しなくなります。回避策として以下の2つの方法があります。
1. 実行したい処理を配列に追加し、$p.events.on_editor_loadで配列に格納した処理を順次呼び出す。
1. 実行したい処理を1つのファンクションとして定義し、$p.events.on_editor_loadで順次ファンクションを呼び出す。
なお、$p.events.on_editor_loadの他、$p.events.on_grid_loadやその他イベント発火スクリプトについて同様の現象が発生しますので、本内容で回避可能です。
1. 実行したい処理を配列に追加し、$p.events.on_editor_loadで配列に格納した処理を順次呼び出す¶
サンプルコード¶
JavaScript¶
JavaScript¶
JavaScript¶
JavaScript¶
//実行
$p.events.on_editor_load = function() {
for (let i = 0; i < $p.events.on_editor_load_arr.length; i++) {
$p.events.on_editor_load_arr[i] ();
}
}
プリザンターのスクリプトには以下のように登録します。

ID=1で「配列の定義」のスクリプト、ID=4に「実行」のスクリプトを登録します。ID=2、ID=3には実行したい処理を追加するスクリプトをそれぞれ登録します。この例では2つの処理を追加していますが、ID=1、ID=4の間に記載することでいくつでも処理を追加することができます。
2. 実行したい処理を1つのファンクションとして定義し、$p.events.on_editor_loadで順次ファンクションを呼び出す¶
サンプル¶
JavaScript¶
JavaScript¶
JavaScript¶
プリザンターのスクリプトには以下のように登録します。

ID=1,2で定義したファンクションのスクリプトを登録し、ID=3で「実行」のスクリプトを登録します。この例では2つの処理を追加していますが、ID=3の前に記載することでいくつでも処理を追加することができます。
