Issue #2681💬 RespondidoAbierto el 24 de marzo de 2020por wemod123Reacciones 2

El método destroy() no eliminó completamente los eventos

Respuesta rápidapor emilsedgh1

Estoy de acuerdo en que esto debe reabrirse y arreglarse dentro de la función de destrucción.

Lee la respuesta completa abajo ↓

Pregunta

Versión: Última: V-0.16.3.

importante: Actualiza de la v-0.15.9 a la v-0.16.3 mientras mantienes todo igual, el error aparecerá en consola:

ErrorTipoUncatch: No se puede leer la propiedad 'frameElement' de null
    en r.getFrameOffset (grapes.min.js?a826:formatted:28973)
    en r.getElementPos (grapes.min.js?a826:formatted:28985)
    en r.getElementPos (grapes.min.js?a826:formatted:13792)
    en r.updateLocalPos (grapes.min.js?a826:formatted:13444)
    en r.onFrameUpdated (grapes.min.js?a826:formatted:13396)
    at I (grapes.min.js?a826:formatted:554)
    en la evaluación (grapes.min.js?a826:formatted:566)
    en la evaluación (grapes.min.js?a826:formatted:129)
    ....

Este error muestra que hay un error en la función 'getFrameOffset', cerca de la posición: 'e.ownerDocument.defaultView.frameElement':

...
clearOff: function() {
   this.frmOff = null,
   this.cvsOff = null
},
getFrameOffset: function(e) {
   if (!this.frmOff || e) {
>>> var t = e ? e.ownerDocument.defaultView.frameElement : this.frame.el;
       this.frmOff = this.offset(t)
  }
  devuelvo esto.frmOff
 },
getCanvasOffset: function() {
   return this.cvsOff || (this.cvsOff = this.offset(this.el)),
  this.cvsOff
}
...

Consulte Esta línea de código

Comprobar la pila de errores rastreará Esta línea de código

Esperado: no se ha reportado error. Impacto: No obtengo impacto negativo específico, solo muestro el error. Reproducir: Yo integro con Vue uso + webpack, difícil de reproducir realmente, para depurar esto probablemente comprueba:

  1. simplemente añadir cadena de control para evitar 'TypeError':
antes: var t = e ? e.ownerDocument.defaultView.frameElement : this.frame.el;
después: var t= (e & & e.Documentopropietario&& e.propietarioDocumento.defaultView && e.propietarioDocumento.defaultView.frameElement) || this.frame.el;
  1. si este 'frameElement' es necesario, en qué condición faltará y entonces causará error.

Respuestas (3)

emilsedgh6 de enero de 2022

Estoy de acuerdo en que esto debe reabrirse y arreglarse dentro de la función de destrucción.

emilsedgh31 de enero de 2022

¡Gracias@artf! 🙏

artf3 de abril de 2020

Gracias por el informe @wemod123 ¿Puedes crear una demo en directo reproducible del problema?

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 →

Tutoriales relacionados

Guías detalladas sobre el mismo tema.

Todos los tutoriales →

Explorar categorías de plugins

Ve directamente a las páginas de categorías de plugins en el marketplace.