미디어위키:Common.js: 두 판 사이의 차이

하나님의 교회 지식사전
둘러보기로 이동 검색으로 이동
편집 요약 없음
편집 요약 없음
 
(같은 사용자의 중간 판 165개는 보이지 않습니다)
1번째 줄: 1번째 줄:
/* 이 자바스크립트 설정은 모든 문서, 모든 사용자에게 적용됩니다. */
//Naver Analytics
(function () {
function loadNaverAnalytics() {
var NaverCdn = document.createElement('script');
NaverCdn.src = 'https://wcs.naver.net/wcslog.js';
NaverCdn.async = true;
document.head.appendChild(NaverCdn);


/* TOP 버튼 */
window.wcs_add = window.wcs_add || {};
const topButton = document.createElement('div');
window.wcs_add.wa = 'ab0e0ecee3c040';
topButton.id="top-button";
}
document.body.appendChild(topButton);
 
window.addEventListener('scroll', function(e){
if (document.readyState === 'loading') {
if(window.scrollY > 300){
document.addEventListener('DOMContentLoaded', loadNaverAnalytics);
topButton.classList.add('active');
} else {
} else {
topButton.classList.remove('active');
loadNaverAnalytics();
}
}
});
})();
topButton.addEventListener('click', function(e){
 
try{
/* GA4: single ID + language tagging (MediaWiki 1.42.3) */
window.scrollTo({
(function () {
  top: 0,
// 중복 로드 방지
  left: 0,
if (window.__GA4_LOADED__) return;
  behavior: 'smooth'
window.__GA4_LOADED__ = true;
});
} catch(e){
var GA_ID = 'G-YGT3D2Q9QW';
window.scrollTo(0, 0);
 
}
// 언어 결정: 가장 신뢰도 높은 wgContentLanguage, 없으면 경로 프리픽스로 보완
});
var pathLang = (location.pathname.split('/')[1] || '').toLowerCase();  
var lang = (mw.config && mw.config.get('wgContentLanguage'))
        || (['en','es','ko','vi','pt','ne'].includes(pathLang) ? pathLang : 'ko');
// <head>에 gtag 로더 삽입
var s = document.createElement('script');
s.async = true;
s.src = 'https://www.googletagmanager.com/gtag/js?id=' + encodeURIComponent(GA_ID);
document.head.appendChild(s);
window.dataLayer = window.dataLayer || [];
function gtag(){ dataLayer.push(arguments); }
window.gtag = gtag;
gtag('js', new Date());
// 🔹 자동 page_view 끄기
gtag('config', GA_ID, {
send_page_view: false,
debug_mode: true
});
    // 사용자 속성
    gtag('set', 'user_properties', {
        site_language: lang,
        browser_language: navigator.language || navigator.userLanguage
    });
gtag('event', 'page_view', {
    page_location: location.href,
    page_path: location.pathname + location.search,
    page_title: document.title,
    content_group: lang
});
})();
 
mw.loader.load('/resources/assets/common/common.js');

2026년 3월 26일 (목) 17:42 기준 최신판

//Naver Analytics
(function () {
	function loadNaverAnalytics() {
		var NaverCdn = document.createElement('script');
		NaverCdn.src = 'https://wcs.naver.net/wcslog.js';
		NaverCdn.async = true;
		document.head.appendChild(NaverCdn);

		window.wcs_add = window.wcs_add || {};
		window.wcs_add.wa = 'ab0e0ecee3c040';
	}

	if (document.readyState === 'loading') {
		document.addEventListener('DOMContentLoaded', loadNaverAnalytics);
	} else {
		loadNaverAnalytics();
	}
})();

/* GA4: single ID + language tagging (MediaWiki 1.42.3) */
(function () {
	// 중복 로드 방지
	if (window.__GA4_LOADED__) return;
	window.__GA4_LOADED__ = true;
	
	var GA_ID = 'G-YGT3D2Q9QW'; 

	// 언어 결정: 가장 신뢰도 높은 wgContentLanguage, 없으면 경로 프리픽스로 보완
	var pathLang = (location.pathname.split('/')[1] || '').toLowerCase(); 
	var lang = (mw.config && mw.config.get('wgContentLanguage')) 
	         || (['en','es','ko','vi','pt','ne'].includes(pathLang) ? pathLang : 'ko');
	// <head>에 gtag 로더 삽입
	var s = document.createElement('script');
	s.async = true;
	s.src = 'https://www.googletagmanager.com/gtag/js?id=' + encodeURIComponent(GA_ID);
	document.head.appendChild(s);
	
	window.dataLayer = window.dataLayer || [];
	function gtag(){ dataLayer.push(arguments); }
	window.gtag = gtag;
	
	gtag('js', new Date());
	
	// 🔹 자동 page_view 끄기
	gtag('config', GA_ID, {
		send_page_view: false,
		debug_mode: true
	});
	
    // 사용자 속성
    gtag('set', 'user_properties', {
        site_language: lang,
        browser_language: navigator.language || navigator.userLanguage
    });
	gtag('event', 'page_view', {
	    page_location: location.href,
	    page_path: location.pathname + location.search,
	    page_title: document.title,
	    content_group: lang
	});
})();

mw.loader.load('/resources/assets/common/common.js');