[javascript] TinyMCE에서 텍스트 에디터에서 자동 저장 기능을 추가하는 방법은?

TinyMCE는 웹에서 사용할 수 있는 강력한 텍스트 에디터입니다. 이 편집기를 사용하면 사용자가 콘텐츠를 편집하고 서버로 전송할 수 있습니다. 이 텍스트 에디터에 자동 저장 기능을 추가하면 사용자가 작업 중인 내용을 자동으로 저장할 수 있어 사용자 경험을 향상시킬 수 있습니다.

자동 저장 기능을 구현하기 위해서는 autosave 플러그인을 사용해야 합니다. 이 플러그인은 사용자가 텍스트를 편집하는 동안 일정 시간마다 자동으로 저장하는 기능을 제공합니다.

먼저, autosave 플러그인을 다운로드하고 TinyMCE에 추가해야 합니다. 아래의 코드를 사용하여 autosave 플러그인을 포함한 TinyMCE를 초기화할 수 있습니다:

tinymce.init({
  selector: 'textarea',
  plugins: 'autosave',
  autosave_interval: '30s', // 자동 저장 간격 설정
  autosave_prefix: 'content-autosave-', // 자동 저장 데이터의 접두사 설정
  autosave_restore_when_empty: true // 에디터가 비어있을 때 자동 저장 데이터를 복원할지 여부 설정
});

위의 코드에서 autosave_interval 옵션을 사용하여 자동 저장 간격을 설정할 수 있습니다. 이 예에서는 30초로 설정되어 있습니다. 또한, autosave_prefix 옵션을 사용하여 자동 저장 데이터의 접두사를 설정할 수 있습니다. 마지막으로, autosave_restore_when_empty 옵션을 사용하여 에디터가 비어있을 때 자동 저장 데이터를 복원할지 여부를 설정할 수 있습니다.

자동 저장된 데이터를 불러오기 위해서는 getContent() 메서드를 사용해야 합니다. 예를 들어, 사용자의 세션이 만료되었거나 페이지를 다시 로드하는 경우에 자동 저장된 데이터를 복원하는 방법은 다음과 같습니다:

var savedContent = localStorage.getItem('content-autosave-' + tinymce.activeEditor.id);
if (savedContent) {
  tinymce.activeEditor.setContent(savedContent);
}

위의 코드에서 localStorage를 사용하여 자동 저장된 데이터를 가져옵니다. 데이터는 이전에 설정한 autosave_prefix에 따라 저장되며, 에디터의 id를 사용하여 해당 데이터를 가져옵니다.

이렇게하면 TinyMCE 텍스트 에디터에 자동 저장 기능을 추가할 수 있습니다. 사용자가 작성 중인 내용을 자동으로 저장하여 작업의 손실을 방지할 수 있습니다.