at.js 2.x を使用した mbox の作成

スクリプトの前に <div> タグを閉じてみてください。

説明 description

環境
Adobe Target

問題
mboxCreate メソッドは at.js 2.x では動作しません。
ページレベルで mbox div を作成するにはどうすればよいですか?

以下のコードは失敗しました。

<div class="mboxDefault">

adobe.target.getOffer({

"mbox": "customTestMbox",

"params": {

"status": "true"

},

"success": function(offer) {

adobe.target.applyOffer( {

"mbox": "customTestMbox",

"offer": offer

} );

},

"error": function(status, error) {

console.log('Error', status, error);

}

});

</div>

これと、以下の ソリューション のコードを比較してください。

解決策 resolution

解決策
スクリプトの前に <div> タグを閉じてみてください。

例:

<div class="mboxDefault">
  default content to replace by offer
</div>
<script>
  var el = document.currentScript.previousElementSibling;
  adobe.target.getOffer({
    mbox: "mboxName",
    params: {
      param1: "value1",
      param2: "value2"
    },
    success: function(offer) {
      adobe.target.applyOffer({
        mbox: "mboxName",
        selector: el,
        offer: offer
      });
    },
    error: function(error) {
      console.error(error);
      el.style.visibility = "visible";
    }
  });
</script>
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f