レコメンド表示後に任意のJavascriptを実行する場合には、Rtoaster.callbackを使用します。
コールバック関数はRtoaster.recommendNow()より先に記述することを推奨いたします。
上記記述を行った場合、Rtoaster.recommendNow()実行後の以下のタイミングで
Javascriptが実行されます。
case1:エレメントIDに紐づくHTMLタグの中身がレコメンドコンテンツで書き換えられた時、
エレメントIDを引数として呼び出されます。
case2:レコメンド場所が複数枠表示の設定となっており、サブエレメントIDが存在する場合、
サブエレメントIDに紐づくHTMLタグの中身がレコメンドコンテンツで書き換えられた時、
サブエレメントIDを引数として呼び出されます。
case3:レコメンド場所が複数枠表示の設定となっており、サブエレメントIDが存在する場合、
全てのサブエレメントIDに紐づくHTMLタグの中身がレコメンドコンテンツで
書き換えられた時、エレメントIDを引数として呼び出されます。
case4:コンテンツの書き換えがされた/されなかったに関わらず、必ず最後に一度、
引数無し(undefined)で呼び出されます。
case5:ポップアップコンテンツをレコメンド表示した場合、
ポップアップ用の外枠を描画する際にエレメントIDを引数として呼び出されます。
ポップアップレコメンド且つ複数枠(ポップアップテンプレート)でレコメンド表示した場合、
case5のタイミングでエレメントIDを引数として呼び出された後、
case3のタイミングでもエレメントIDを引数として呼び出されます。
■ Rtoaster.callbackを利用した動作イメージ
【例1】
- レコメンド場所2箇所:"element_id1", "element_id2"
- 複数枠設定:"element_id1"複数枠設定なし、"element_id2"複数枠設定3枠
【レコメンド結果】
- "element_id1"=レコメンドコンテンツの書き換えあり
- "element_id2"
- サブエレメントID"element_id2_1"=レコメンドコンテンツの書き換えあり
- サブエレメントID"element_id2_2"=レコメンドコンテンツの書き換えあり
- サブエレメントID"element_id2_3"=レコメンドコンテンツの書き換えなし
【Rtoaster.callback動作結果】
計5回コールバック関数が呼び出されます。
- “element_id1”を引数として呼び出される :case1
- “element_id2_1”を引数として呼び出される:case2
- “element_id2_2”を引数として呼び出される:case2
- “element_id2”を引数として呼び出される :case3
- 引数なし(undefined)で呼び出される :case4
デフォルトコンテンツや、コントロール群の場合にはコールバックされません。
【例2】
- レコメンド完了後に関数を実行する