유튜브 링크를 가져올 때 바로 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> </p>`; }); // 변환된 내용 붙여넣기 document.execCommand("insertHTML", false, newContent); }); } });