मीडियाविकि:Common.js: संशोधनहरू बीचको भिन्नता
कुनै सम्पादन सारांश छैन |
कुनै सम्पादन सारांश छैन |
||
| पङ्क्ति २३: | पङ्क्ति २३: | ||
if($searchBox) $searchBox.style.display = 'block'; | if($searchBox) $searchBox.style.display = 'block'; | ||
} | } | ||
/* TOP 버튼 */ | /* TOP 버튼 */ | ||
var topButton = document.createElement('div'); | var topButton = document.createElement('div'); | ||
| पङ्क्ति ३३०: | पङ्क्ति ३१९: | ||
langDiv.insertAdjacentHTML('afterbegin', navHTML); | langDiv.insertAdjacentHTML('afterbegin', navHTML); | ||
} | } | ||
/* 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'].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, { | |||
page_path: location.pathname + location.search | |||
}); | |||
// 언어를 사용자 속성으로 항상 전송(보고서에서 맞춤차원으로 필터) | |||
console.log('gtag', lang); | |||
gtag('set', 'user_properties', { site_language: lang }); | |||
// (선택) 콘텐츠 그룹도 언어로 고정해두면 탐색에서 편함 | |||
// gtag('event', 'page_view', { content_group: lang }); // 필요 시 사용 | |||
})(); | |||