Issue #2480💬 RespondidoAbierto el 30 de diciembre de 2019por ackvfReacciones 1

Usa una función de cuña para componentes que usan función script (no cadena)

Respuesta rápidapor artf1

¿No sería posible usar un enfoque así, para mantener el alcance? No, porque intentas mezclar el alcance del entorno del editor con el que se desplegará al usuario final (que no tiene nada que ver con el editor, él solo puede ver el HTML/CSS/JS final). Intenta investigar este número: https://github.com/artf/grapesjs/is...

Lee la respuesta completa abajo ↓

Pregunta

El enfoque actual que convierte el script de un componente en texto antes de colocarlo en el documento es bastante limitante. ¿No sería posible usar un enfoque así, para mantener el alcance?

Pon la función en la ventana y usa una función de cuña en el componente en su lugar.

original código: '''js var myVar = 'Juan';

editor. BlockManager.add('test-block', { ... script: función () { alert('Hi ' + myVar); console.log('el elemento', esto); }, ... });

_follows mi sugerencia:_

_function detectado (como función y no como cadena), usemos una cuña:_

globalThis['test-block'] = identificadorDeTheTestBlockComponent.script


'''html
<div id="c764"></div>
<script>
  var items = document.querySelectorAll('#c764');
  para (var i = 0, len = items.length; i < len; i++) {
    (ventana['test-block'].bind(elementos[i]))();
  }
</script>

mencionado originalmente en una prensa aquí https://github.com/artf/grapesjs/pull/2479#issuecomment-569628660

Respuestas (1)

artf2 de enero de 2020

¿No sería posible usar un enfoque así, para mantener el alcance?

No, porque intentas mezclar el alcance del entorno del editor con el que se desplegará al usuario final (que no tiene nada que ver con el editor, él solo puede ver el HTML/CSS/JS final).

Intenta investigar este número: https://github.com/artf/grapesjs/issues/2181

Preguntas y respuestas relacionadas

Continúa investigando con debates sobre temas similares.

Plugins de pago que cumplen con este problema

Seleccionado por temas clave y relevancia de etiquetas para ayudarte a enviar más rápido.

Ver todos los plugins

Cargando recomendaciones de plugins de pago...

Opción gratuita

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 →
Opción premium

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.