포토DA 매체사 이미지 로딩 지연시

아래 처럼 수정해서 등록해야함

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();
}
guest
0 Comments
Inline Feedbacks
View all comments