es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

TinyMCE – ¿Guardar cambios – keyup / onChange / blur? ¿Cuál es mejor?

Estoy usando TinyMCE en un archivo de Filemaker. Me gustaría guardar los cambios al escribir o aplicar formato, por ejemplo, aplicar una lista o insertar una imagen. No importa qué cambios se realicen.

Quiero llamar a una función en mi script de inicio cuando se realicen cambios… PERO… no quiero que sea demasiado frenético, porque ralentiza mucho Filemaker.

Encontré este fragmento de código que funciona muy bien para escribir, gracias a que gestiona el tiempo de espera del evento ‘keyup’. Sin embargo, no funciona para otros cambios, como añadir formato. Lo tengo configurado para ejecutar una función más abajo, la cual activa un script de Filemaker (saveTEMP).

Preguntas:

1/ ¿Cómo puedo adaptarlo para que funcione con ediciones que no sean de tipeo/teclado?

2/ ¿Es este el mejor método que puedo utilizar? ¿Sería algo como BLUR mejor?

Muchas gracias por cualquier ayuda/orientación.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Solución para guardar cambios de Tinymce en archivo de Filemaker

    Para guardar los cambios cada vez que haya un cambio en el contenido, debemos usar el evento NodeChange en lugar del evento keyup. Este evento captura todos los cambios realizados en el contenido, incluyendo el formato y la adición de imágenes. Además, podemos establecer una función de tiempo de espera para asegurarnos de que el proceso de guardado no ralentice demasiado Filemaker.

    Aquí tienes un fragmento de código actualizado para el script de inicialización de Tinymce:

    var saveTimer;
    tinymce.init({
      selector: '#GSNotes',
      setup: function (ed) {
        ed.on('NodeChange', function(e) {
          clearTimeout(saveTimer);
          saveTimer = setTimeout(saveTEMP, 1000);
        });
      }
    });
    

    En cuanto a la segunda pregunta, no se recomienda utilizar el evento BLUR, ya que solo guardará los cambios cuando el editor pierda el foco. Por lo tanto, utilizar NodeChange es el mejor método para guardar los cambios en tiempo real.

    Esperamos que esta solución te ayude a lograr la funcionalidad deseada con Tinymce y Filemaker.

Comments are closed.