merge master into develop - CscListRForm.jsp FAQ 아코디언 버그 수정
This commit is contained in:
@@ -0,0 +1,272 @@
|
||||
//구글 애널리틱스
|
||||
function googleAnalytics(list, url){
|
||||
if(fn_is_empty(list)){
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* * 구글 애널리틱스 공통 헤더
|
||||
<!-- Google tag (gtag.js) -->
|
||||
태그를 복사한 후 웹사이트의 각 페이지 코드에서 <head> 요소 바로 다음에 붙여넣으세요.
|
||||
* */
|
||||
const commonHeaderAt = adScriptCommonHeaderAt(list);
|
||||
|
||||
if(commonHeaderAt){
|
||||
|
||||
const adMediaId = commonHeaderAt.adMediaId;
|
||||
|
||||
let gtagScript = document.createElement('script');
|
||||
gtagScript.async = true;
|
||||
gtagScript.src = 'https://www.googletagmanager.com/gtag/js?id=' + adMediaId;
|
||||
document.head.appendChild(gtagScript);
|
||||
|
||||
// gtag 설정
|
||||
let configScript = document.createElement('script');
|
||||
configScript.innerHTML = `
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag(){dataLayer.push(arguments);}
|
||||
gtag('js', new Date());
|
||||
gtag('config', '` + adMediaId + `');
|
||||
`;
|
||||
document.head.appendChild(configScript);
|
||||
}
|
||||
|
||||
|
||||
|
||||
//상품 상세 페이지
|
||||
if(url.includes(selectGoodsDtl)){
|
||||
|
||||
const goodsInnb = $('#goodsInnb').val();
|
||||
const goodsNm = $('#goodsNm').val();
|
||||
let price = parseInt($('#slepricDscntAmt').val());
|
||||
|
||||
//# 상품상세페이지가 로드되면 아래 코드 실행
|
||||
const goodsDtlFormAt = adScriptGoodsDtlFormAt(list)
|
||||
if(goodsDtlFormAt){
|
||||
let goodsDtlScript = document.createElement('script')
|
||||
goodsDtlScript.innerHTML=`
|
||||
gtag("event", "view_item", {
|
||||
currency: "KRW",
|
||||
value: ${price},
|
||||
items: [
|
||||
{
|
||||
item_id: ${goodsInnb},
|
||||
item_name: '${goodsNm}',
|
||||
price: ${price},
|
||||
quantity: 1
|
||||
}
|
||||
]
|
||||
});
|
||||
`;
|
||||
|
||||
document.head.appendChild(goodsDtlScript);
|
||||
}
|
||||
|
||||
|
||||
//# 상품상세페이지에서 장바구니 담기 버튼을 클릭할 때 아래 코드 실행. addEventListner 등 사용
|
||||
const addCartEventAt = adScriptAddCartEventAt(list);
|
||||
|
||||
if(addCartEventAt){
|
||||
|
||||
addCartStorage(addCartEventAt);
|
||||
}
|
||||
|
||||
|
||||
//# 네이버페이 버튼 클릭 시 아래 코드 실행.
|
||||
const npayEventAt = adScriptNpayEventAt(list);
|
||||
if(npayEventAt){
|
||||
|
||||
addNpayStorage(npayEventAt);
|
||||
}
|
||||
|
||||
|
||||
}//상품 상세 END
|
||||
|
||||
|
||||
//장바구니 페이지
|
||||
|
||||
if(url.includes(selectSpbk)){
|
||||
|
||||
//# 장바구니 페이지가 로드되면 아래 코드 실행.
|
||||
const cartListFormAt = adScriptCartListFormAt(list)
|
||||
if(cartListFormAt){
|
||||
|
||||
//JSON PARSE
|
||||
const adScriptGoodsList = JSON.parse($('#adscriptCartGoodsList').val())
|
||||
// 데이터를 저장할 배열
|
||||
let productDataArray = [];
|
||||
|
||||
let totalPrice = 0;
|
||||
|
||||
if(!fn_is_empty(adScriptGoodsList.goodsList)){
|
||||
adScriptGoodsList.goodsList.forEach(optn => {
|
||||
// 객체로 저장
|
||||
const productData = {
|
||||
item_id: optn.goodsInnb,
|
||||
item_name: optn.goodsNm,
|
||||
item_variant: optn.optn,
|
||||
price: optn.subSlepric,
|
||||
quantity: optn.qy
|
||||
};
|
||||
|
||||
// 배열에 추가
|
||||
productDataArray.push(productData);
|
||||
totalPrice += optn.subSlepric
|
||||
});
|
||||
}
|
||||
|
||||
let cartListScript = document.createElement('script');
|
||||
|
||||
cartListScript.innerHTML= `
|
||||
gtag("event", "view_cart", {
|
||||
currency: "KRW",
|
||||
value: ${totalPrice},
|
||||
items: ${JSON.stringify(productDataArray)}
|
||||
});
|
||||
`;
|
||||
|
||||
document.head.appendChild(cartListScript);
|
||||
}
|
||||
}//장바구니 페이지 END
|
||||
|
||||
|
||||
//주문서 작성 페이지
|
||||
|
||||
if(url.includes(selectNmbrPurchsForm) || url.includes(selectMbrPurchsForm)){
|
||||
//# 주문서 페이지가 로드되면 아래 코드 실행
|
||||
const purchsFormAt = adScriptPurchsFormAt(list);
|
||||
if(purchsFormAt){
|
||||
let purchsFormScript = document.createElement('script');
|
||||
|
||||
// 총 결재 금액
|
||||
let price = $('#setleAmtSapn').text().replace(",","");
|
||||
|
||||
// 상품정보 배열
|
||||
let productDataArray = [];
|
||||
|
||||
|
||||
if($('#adScriptDeviceTy').val() ==='sopmal'){ //pc일 경우
|
||||
$('#goodsList tr').each(function(){
|
||||
|
||||
// 객체로 저장
|
||||
let productData1 = {
|
||||
item_id: $(this).find(".goodsInnb").val(),
|
||||
item_name: $(this).find(".cartItem__productTitle").text(),
|
||||
item_variant: $(this).find(".cartItem__productOption").text(),
|
||||
price: $(this).find(".cartItem__afterPrice").children('.comma').text().replace(",",""),
|
||||
quantity: $(this).find(".qy").val()
|
||||
};
|
||||
// 배열에 추가
|
||||
productDataArray.push(productData1);
|
||||
});
|
||||
}else{ // 모바일 일 경우
|
||||
$('#goodsList .orderInfo__item').each(function(){
|
||||
|
||||
// 객체로 저장
|
||||
let productData1 = {
|
||||
item_id: $(this).find(".goodsInnb").val(),
|
||||
item_name: $(this).find(".cartItem__productTitle").text(),
|
||||
item_variant: $(this).find(".cartItem__productOption").text().replaceAll(' ', '').trim(),
|
||||
price: $(this).find(".cartItem__afterPrice").children('.comma').text().replace(",",""),
|
||||
quantity: $(this).find(".qy").val()
|
||||
};
|
||||
// 배열에 추가
|
||||
productDataArray.push(productData1);
|
||||
});
|
||||
}
|
||||
|
||||
purchsFormScript.innerHTML= `
|
||||
gtag("event", "begin_checkout", {
|
||||
currency: "KRW",
|
||||
value: ${price}, //총결제금액
|
||||
items: ${JSON.stringify(productDataArray)} // 상품정보
|
||||
});
|
||||
`;
|
||||
document.head.appendChild(purchsFormScript);
|
||||
}
|
||||
}//주문서 작성 페이지 END
|
||||
|
||||
//주문 완료 페이지
|
||||
if(url.includes(selectOrdrCompt)){
|
||||
|
||||
//# 주문완료 페이지가 로드되면 아래 코드 실행.
|
||||
const purchsCompleteFormAt = adScriptPurchsCompleteFormAt(list);
|
||||
|
||||
if(purchsCompleteFormAt){
|
||||
|
||||
// // 상품정보 배열
|
||||
let productDataArray = [];
|
||||
|
||||
|
||||
const adscriptVal = $('#adscript').val()
|
||||
const decode = atob(adscriptVal)
|
||||
|
||||
const adscriptParse = JSON.parse(decode);
|
||||
|
||||
let price = parseInt(adscriptParse.total.setleAmt)
|
||||
let finalOrderNo = adscriptParse.order.ordrInnb.toString()
|
||||
|
||||
let purchsComplateFormScript = document.createElement('script');
|
||||
|
||||
|
||||
for(let obj of adscriptParse.goodsList){
|
||||
|
||||
let productData = {
|
||||
item_id: obj.goodsInnb.toString(),
|
||||
item_name: obj.goodsNm,
|
||||
item_variant: obj.optnNm,
|
||||
price: parseInt(obj.applyDscntAmt)/obj.ordrQy,
|
||||
quantity: obj.ordrQy
|
||||
};
|
||||
// 배열에 추가
|
||||
productDataArray.push(productData);
|
||||
}
|
||||
|
||||
purchsComplateFormScript.innerHTML= `
|
||||
gtag("event", "purchase", {
|
||||
transaction_id: '${finalOrderNo}',
|
||||
currency: "KRW",
|
||||
value: ${price},
|
||||
items: ${JSON.stringify(productDataArray)} // 상품정보
|
||||
});
|
||||
`;
|
||||
|
||||
document.head.appendChild(purchsComplateFormScript);
|
||||
}
|
||||
|
||||
}//주문 완료 페이지 END
|
||||
|
||||
|
||||
|
||||
|
||||
//# 취소/환불 요청 페이지에서 취소/환불 요청을 할 경우 아래 코드 실행
|
||||
const refundReqEventAt = adScriptRefundReqEventAt(list);
|
||||
if(refundReqEventAt){
|
||||
addReturnReqStorage(refundReqEventAt)
|
||||
}
|
||||
|
||||
|
||||
//회원가입 완료 페이지
|
||||
if(url.includes(selectJoinCompleteR)){
|
||||
|
||||
|
||||
//# 회원가입 완료 페이지 로드되면 아래 코드 실행
|
||||
const mbrRegstFormAt = adScriptMbrRegstFormAt(list);
|
||||
if(mbrRegstFormAt){
|
||||
let joinScript = document.createElement('script');
|
||||
|
||||
// 회원가입 방법 (예: general, kakao 등)
|
||||
const joinMthCd = $('#joinMthCd').val()
|
||||
|
||||
joinScript.innerHTML = `
|
||||
gtag("event", "sign_up", {
|
||||
method: "${joinMthCd}"
|
||||
});
|
||||
`;
|
||||
|
||||
document.head.appendChild(joinScript);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user