In addition, both under mbox.js and at.js, I can load html content in Adobe Target, but I can't see changes in experience under at.js.
The at.js fires the global mbox request from the HEAD of the document and so HTML content can't be rendered there. Depending on use case there should be several options available for adding HTML with the visual composer:
- Use the code editor > custom code section and uncheck the "add to head" option.
- Find an element on the page just above to the place you want to add HTML and choose the insert element option.
The global mbox was designed for the visual composer so you may find those options work better for you. However, if you find that you must use the form composer you have these options available.
- Use global mbox and create an html offer but write a script to insert the HTML content you are trying load directly from the global mbox to somewhere on the body. Keep in mind you'll need to time the execution of your script to be after the DOM element you are manipulating is available.
- Add a regional mbox to the page (this would be in the body around the content you want to change) and then select that mbox in the location dropdown for the form composer. Create an regular HTML offer.
Here's a help doc on adding a regional mbox to your page: mboxCreate(mbox,params)
I'm still wondering why mbox.js works while at.js not?
For both of them are put ahead of </head>.