아래 처럼 수정해서 등록해야함
function waitForImageLoad(imgSelector) {
return new Promise((resolve) => {
const images = document.querySelectorAll(imgSelector);
let loadedCount = 0;
function checkAllLoaded() {
loadedCount++;
if (loadedCount === images.length) {
resolve(images);
}
}
images.forEach(img => {
if (img.complete) {
checkAllLoaded();
} else {
img.onload = checkAllLoaded;
img.onerror = checkAllLoaded;
}
if (!img.src && img.dataset.src) {
img.src = img.dataset.src;
}
});
if (images.length === 0) {
resolve([]);
}
});
}
function initFjPAd() {
try {
let FJP_API_KEY = '266b4a2941ac2d8688afdfef281c2eec';
let FJP_WritingTime = '2024-08-19 13:40:48';
let FJP_imgSelector = '#cont img';
let FJP_NewsUID ='';
let FJP_CITYPE = 'hn';
let FJP_pageid = '$pageid$';
let FJP_campaignid = '$campaignid$';
let FJP_USE_YN = true;
waitForImageLoad(FJP_imgSelector).then(images => {
if (images.length > 0) {
let fjP = new FjP();
fjP.fetchAd(FJP_API_KEY, images, FJP_WritingTime, FJP_NewsUID, FJP_USE_YN, FJP_CITYPE, FJP_pageid, FJP_campaignid);
} else {
console.log('No images found to process');
}
});
} catch (error) {
if (error.message.includes('FjP')) {
console.error('FjP 인스턴스 생성 오류: ', error);
} else {
console.error('FjP 광고 실행 오류: ', error);
}
}
}
function initWithDelay() {
setTimeout(initFjPAd, 90);
}
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', initWithDelay);
} else {
initWithDelay();
}