Creación de un mbox con at.js 2.x

Cierre la etiqueta <div> antes del script.

Descripción description

Entorno
Adobe Target

Problema
El método mboxCreate no funciona con at.js 2.x.
¿Cómo se crea un div de mbox en el nivel de página?

Este código siguiente no tuvo éxito:

<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>

Compárelo con el código de la solución siguiente.

Resolución resolution

Solución
Cierre la etiqueta <div> antes del script.

Por ejemplo:

<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