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

Última actualización: 2024-01-30

Intente cerrar el <div> antes del script.

Descripción

Entorno
Adobe Target

Problema
El mboxCreate El método 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>

Compare esto con el código de la Solución más abajo.

Resolución

Solución
Intente cerrar el <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>

En esta página