レコメンド表示後にJavascriptを実行する

レコメンド表示後に任意の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":複数枠設定3枠

【レコメンド結果】

  • "element_id1"=レコメンドコンテンツの書き換えあり
  • "element_id2"
    • サブエレメントID"element_id2_1"=レコメンドコンテンツの書き換えあり
    • サブエレメントID"element_id2_2"=レコメンドコンテンツの書き換えあり
    • サブエレメントID"element_id2_3"=レコメンドコンテンツの書き換えなし

【Rtoaster.callback動作結果】

 計5回コールバック関数が呼び出されます。

  1. “element_id1”を引数として呼び出される :case1
  2. “element_id2_1”を引数として呼び出される:case2
  3. “element_id2_2”を引数として呼び出される:case2
  4. “element_id2”を引数として呼び出される :case3
  5. 引数なし(undefined)で呼び出される   :case4

 

 デフォルトコンテンツや、コントロール群の場合にはコールバックされません。

 

【例2】

  • レコメンド完了後に関数を実行する
レコメンド完了後に実行する関数例:do_finish();