유튜브 링크를 가져올 때 바로 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);
});
}
});
#프로알라에디터