var width; $(function(){ }); function sizeControlMain(width) { width = parseInt(width); var bodyHeight = document.documentElement.clientHeight; var bodyWidth = document.documentElement.clientWidth; var chkHeader = $('#header-wrap').outerHeight(); } jQuery(function($){ sizeControlMain($(this).width()); $(window).resize(function() { if(this.resizeTO) { clearTimeout(this.resizeTO); } this.resizeTO = setTimeout(function() { $(this).trigger('resizeEnd'); }, 10); }); }); $(window).on('resizeEnd', function() { sizeControlMain($(this).width()); }); $(window).load( function() { sizeControlMain($(this).width()); }); let gJoinCheckKind = ""; $(document).ready(function(){ //language $('.language').click(function(){ $('.flag').slideToggle(); }) //popup $('.login-btn').click(function(){ $('#layer-pop').show(); $('.login-pop').show(); $('.search-pop').find('.pop_close').show(); leftmenuclose(); }) $('.search').click(function(){ gJoinCheckKind = $(this).data("check"); $('#layer-pop').show(); $('.search-pop').show(); $('.search-pop').find('.pop_close').show(); leftmenuclose(); return false; }) $('.charge').click(function(){ $.getJSON("/api/inner_wallet", function(data){ $("#inner-wallet-address").val(data.company_wallet); gaSetQRImg($(".ch-usdt > div.qr-img > img")[0], data.company_wallet); $('#layer-pop').show(); $('.charge-pop').show(); $('.search-pop').find('.pop_close').show(); leftmenuclose(); }); return false; }) $('.findid').click(function(){ $('#layer-pop').show(); $('.findid-pop').show(); $('.findid-pop').find('.pop_close').show(); $('.findpw-pop').hide(); leftmenuclose(); return false; }) $('.findpw').click(function(){ $('#layer-pop').show(); $('.findpw-pop').show(); $('.findpw-pop').find('.pop_close').show(); $('.findid-pop').hide(); leftmenuclose(); return false; }) $('.mov').click(function(){ $('#layer-pop').show(); $('.mov-pop').show(); $('.mov-pop').find('.pop_close').show(); $("#mf-video").trigger("play"); leftmenuclose(); return false; }) $('.handover-pop').click(function(){ $('#layer-pop').show(); $('.handover-pop').show(); $('.handover-pop').find('.pop_close').show(); leftmenuclose(); return false; }) //pop close $('.pop_close').click(function(){ $('#layer-pop').find('.charge-pop').hide(); $('#layer-pop').find('.login-pop').hide(); $('#layer-pop').find('.search-pop').hide(); $('#layer-pop').find('.findid-pop').hide(); $('#layer-pop').find('.findpw-pop').hide(); $('#layer-pop').find('.complete-pop').hide(); $('#layer-pop').find('.mov-pop').hide(); $('#layer-pop').find('.appeal-pop').hide(); $('#layer-pop').find('.deposit-pop').hide(); $('#layer-pop').find('.confirm-pop').hide(); $('#layer-pop').find('.handover-pop').hide(); $('#layer-pop').hide(); $("#mf-video").trigger("pause"); return false; }) //guide $(".guide").click(function(){ $(".guideMenu").slideToggle(); }) //fixed assets $(document).scroll(function(){ var hd_H = $("#header-wrap").height(); $(".mcont01.fixed").css({top: hd_H}); if($("html").scrollTop() > 15){ $(".mcont01.fixed").show(); } else if($("html").scrollTop() <= 15){ $(".mcont01.fixed").hide(); } }) }); function leftmenuclose (){ $('.header-slider-ovclick').hide(); $('#subNavi').removeClass('mn-h-open') } /** * gaSetQRImg — 자체호스트 QR 생성기 (qrcode.min.js 사용) * 외부 photobooth.kunstplatz.net 의존성 제거 (지갑 주소 외부 노출 보안 개선) * @param {HTMLImageElement} imgEl - QR을 표시할 element * @param {string} data - QR로 인코딩할 데이터 (지갑 주소 등) * @param {number} size - 픽셀 크기 (기본 200) */ function gaSetQRImg(imgEl, data, size) { if (!imgEl || !data) return; size = size || 200; if (typeof QRCode === 'undefined') { console.warn('QRCode library not loaded — falling back to data attr'); imgEl.setAttribute('data-pending-qr', data); return; } try { // 임시 div에 QR 생성 후 dataURL 추출하여 img.src에 적용 var tmp = document.createElement('div'); tmp.style.cssText = 'position:absolute;left:-9999px;top:0;'; document.body.appendChild(tmp); new QRCode(tmp, { text: String(data), width: size, height: size, colorDark: '#000000', colorLight: '#ffffff', correctLevel: QRCode.CorrectLevel.M, }); // QRCode.js는 canvas 또는 img를 생성 — 그 src/dataURL을 사용 var canvas = tmp.querySelector('canvas'); var imgInner = tmp.querySelector('img'); var src = canvas ? canvas.toDataURL('image/png') : (imgInner ? imgInner.src : ''); if (src) imgEl.src = src; document.body.removeChild(tmp); } catch (e) { console.error('QR generation failed:', e); } } window.gaSetQRImg = gaSetQRImg; // 페이지 로드 시 data-qr 속성이 있는 img 자동 처리 (HTML에 직접 박힌 QR) if (typeof $ !== 'undefined') { $(function(){ $('img[data-qr]').each(function(){ var data = $(this).attr('data-qr'); if (data) gaSetQRImg(this, data); }); }); }