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

편집 요약 없음
편집 요약 없음
 
(같은 사용자의 중간 판 164개는 보이지 않습니다)
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 || {};
var 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');