No puede referenciar otra biblioteca desde un componente personalizado
$ nodo -v v10.15.3 $ npx nodo-sass -v node-sass 4.12.0 (Envoltorio) [JavaScript] libsass 3.5.4 (compilador Sass) [C/C++] El sistema operativo es: Windows 10
Lee la respuesta completa abajo ↓Pregunta
Hola Artf, He estado intentando hacer esto todo el día y no funciona. No pude encontrar ningún ejemplo ni ninguna solución en mi búsqueda.
Aquí tienes una parte relevante de mi código en el "components.js" del plugin personalizado:
model: defaultModel.extend({
Predeterminados: {
.....
alerta ('antes de si');
if (IncludeLibrary= false) {
alerta('jeje');
var script = document.createElement('script');
script.onload = initMySLider;
script.src = 'https://unpkg.com/formiojs@latest/dist/formio.full.min.js';
document.body.appendChild(script);
}
Formio.createForm(formEl, 'https://examples.form.io/example');
Estoy recibiendo un error de compilación que dice que "Formio" no está definido sin definición.
Ten en cuenta que el script al que me refiero arriba debería definir a Formio, pero de alguna manera no ocurre. Seguir sin grapesjs funciona bien, así que sé que el script externo funciona.
'''
<html> <head> <link rel='stylesheet' href='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css'> <link rel='stylesheet' href='https://unpkg.com/formiojs@latest/dist/formio.full.min.css'> <script src='https://unpkg.com/formiojs@latest/dist/formio.full.min.js'></script> <script type='text/javascript'> window.onload = función() { Formio.createForm(document.getElementById('formio'), 'https://examples.form.io/example'); }; </script> </head> <body> <div id='formio'></div> </body> </html> '''Respuestas (3)
$ nodo -v v10.15.3
$ npx nodo-sass -v node-sass 4.12.0 (Envoltorio) [JavaScript] libsass 3.5.4 (compilador Sass) [C/C++]
El sistema operativo es: Windows 10
No puedes usar 'Formio' si aún no está definido, supongo que usas el código de abajo para cargarlo '''js var script = document.createElement('script'); script.onload = initMySLider; script.src = 'https://unpkg.com/formiojs@latest/dist/formio.full.min.js'; document.body.appendChild(script);
Pero como cargar un script es una operación asincrónica, tienes que esperar, así que la parte de 'script.onload' que has commetido necesariamente...
'''js
script.onload = () => {
Formio.createForm(formEl, 'https://examples.form.io/example');
}
Hola Artf Gracias por tu respuesta. El problema básico es que el evento "script.onload" no se activa en Chrome. También probé "eventListener" pero tampoco se activa en Chrome para script. Dispara para "ventana" pero no para "script". ¿Hay alguna otra idea para resolver este problema?
Preguntas y respuestas relacionadas
Continúa investigando con debates sobre temas similares.
Issue #3615
texto en el componente de texto no puede actualizarse, no se puede obtener el resultado final de toHTML
es un componente textual, si selecciona el cuerpo, el texto corregirá guardar/aplicar/almacenar en el método component toHTML, Si solo actu...
Issue #3212
Componente Lightbox
Hola @artf Estoy intentando hacer una caja de luz por componentes igual que la gota de uva. No puedo actualizar la parte inicial de la imag...
Issue #3654
[PREGUNTAS] editor.setComponents(html) y pageManager.select(pageId) no cargan los scripts js
Hola, @artf Como he leído, allowScripts:1 permite a grapesjs cargar scripts . Cuando cargo una página de aterrizaje por primera vez funcion...
Issue #3512
Los elementos hijos no se pueden arrastrar, se pueden soltar y se pueden resaltar. también el CSS de todos los elementos hijos que no se insertan en la sección de estilo mientras se desarrolla un componente banner en un plugin
Hola @artf, Estoy intentando desarrollar un plugin sencillo para banners que incluya un encabezado, un subtítulo y un enlace. y cada elemen...
Plugins de pago que cumplen con este problema
Seleccionado por temas clave y relevancia de etiquetas para ayudarte a enviar más rápido.
Cargando recomendaciones de plugins de pago...
Consulta los plugins de código abierto de GrapesJS en GitHub O haz una búsqueda rápida en nuestro catálogo gratuito.
Explora plugins gratuitos →Los plugins premium incluyen soporte, actualizaciones regulares y funciones listas para producción — ahorrando días de trabajo de integración.
Explora plugins premium →Explorar categorías de plugins
Ve directamente a las páginas de categorías de plugins en el marketplace.