유튜브 링크를 가져올 때 바로 iframe으로 변환해주는 코드입니다.

document.addEventListener("DOMContentLoaded", function () {
    const editor = document.querySelector(".fr-element");

    if (editor) {
       editor.addEventListener("paste", function (event) {
          console.log('Paste event detected');
          event.preventDefault();

          // 클립보드 데이터 가져오기
          let clipboardData = (event.clipboardData || window.clipboardData).getData("text");

          // 유튜브 링크 정규식
          let regex = /(https?:\/\/)?(www\.)?(youtube\.com\/watch\?v=|youtu\.be\/)([a-zA-Z0-9_-]+)/;

          // 유튜브 링크에서 ?si= 파라미터를 제거
          clipboardData = clipboardData.replace(/([?&])si=[^&]*/, '');

          // 유튜브 링크를 iframe으로 변환
          let newContent = clipboardData.replace(regex, function (match, p1, p2, p3, videoId) {
             // iframe을 생성하고 반환
             return `<span class="fr-video fr-fvc fr-dvb fr-draggable" contenteditable="false" draggable="true">
                   <iframe width="640" height="360" src="https://www.youtube.com/embed/`+videoId+`?wmode=opaque"
                   frameborder="0" allowfullscreen class="fr-draggable"></iframe>
               </span><p>&nbsp;</p>`;
          });

          // 변환된 내용 붙여넣기
          document.execCommand("insertHTML", false, newContent);
       });
    }
});