Création d’une mbox avec at.js 2.x

Essayez de fermer votre balise <div> avant le script.

Description description

Environnement
Adobe Target

Problème
La méthode mboxCreate ne fonctionne pas avec at.js 2.x.
Comment créer une balise div mbox au niveau de la page ?

Ce code ci-dessous a échoué :

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

Comparez ceci au code de la solution ci-dessous.

Résolution resolution

Solution
Essayez de fermer votre balise <div> avant le script.

Exemple :

<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