Estoy intentando cargar un formulario de JavaScript en el pie de página.
Tengo esto en la cabecera:
<script type="text/discourse-plugin" version="0.8">
let loadScript = require("discourse/lib/load-script").default;
api.onPageChange(() => {
loadScript("//js.hsforms.net/forms/current.js").then(() => {
console.log("haciendo la cosa");
hbspt.forms.create({
portalId: "229276",
formId: "a86ca9cc",
submitButtonClass: "button orange-button hubspot-button",
target: ".subscription-form"
});
});
});
</script>
Y esto en el pie de página:
<div class="subscription-form clearfix">
<h5>Regístrate en nuestro blog</h5>
</div>
La primera vez que se carga la página, funciona correctamente. Las páginas subsiguientes (la mayoría de ellas, al menos) no logran cargar el formulario y muestran el siguiente error:
No se pudo encontrar el contenedor de destino .subscription-form para el formulario de HubSpot a86ca9cc. No se está renderizando el formulario en la página.
Creo que quizás el pie de página se carga después de que se ejecuta el script.
Por lo tanto, necesito de alguna manera retrasar la ejecución hasta que el pie de página se haya cargado.
plugin-api.js dice:
// Escuchar un `AppEvent` activado por Discourse.
api.onAppEvent("inserted-custom-html", () => {
console.log("se ha renderizado un pie de página personalizado");
});
¿Quizás solo necesito saber qué AppEvent buscar?