미디어위키:Gadget-SiteDesignReady.js

식물 vs 좀비 위키
Brokey (토론 | 기여)님의 2026년 7월 25일 (토) 00:44 판 (새 문서: ( function () { 'use strict'; function waitForCriticalAssets() { var waits = []; if ( document.fonts && document.fonts.ready ) { waits.push( document.fonts.ready.catch( function () {} ) ); } document.querySelectorAll( 'img.pvz-design-critical' ).forEach( function ( image ) { if ( image.complete ) { return; } waits.push( new Promise( function ( resolve ) { image.addEventListener( 'load', resolve,...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)
둘러보기로 이동 검색으로 이동

참고: 설정을 저장한 후에 바뀐 점을 확인하기 위해서는 브라우저의 캐시를 새로 고쳐야 합니다.

  • 파이어폭스 / 사파리: Shift 키를 누르면서 새로 고침을 클릭하거나, Ctrl-F5 또는 Ctrl-R을 입력 (Mac에서는 ⌘-R)
  • 구글 크롬: Ctrl-Shift-R키를 입력 (Mac에서는 ⌘-Shift-R)
  • 엣지: Ctrl 키를 누르면서 새로 고침을 클릭하거나, Ctrl-F5를 입력.
( function () {
	'use strict';

	function waitForCriticalAssets() {
		var waits = [];

		if (
			document.fonts &&
			document.fonts.ready
		) {
			waits.push(
				document.fonts.ready.catch(
					function () {}
				)
			);
		}

		document.querySelectorAll(
			'img.pvz-design-critical'
		).forEach( function ( image ) {
			if ( image.complete ) {
				return;
			}

			waits.push(
				new Promise( function ( resolve ) {
					image.addEventListener(
						'load',
						resolve,
						{ once: true }
					);

					image.addEventListener(
						'error',
						resolve,
						{ once: true }
					);
				} )
			);
		} );

		return Promise.all( waits );
	}

	function revealSiteDesign() {
		window.clearTimeout(
			window.pvzSiteDesignRevealTimer
		);

		window.requestAnimationFrame(
			function () {
				window.requestAnimationFrame(
					function () {
						document.documentElement
							.classList.add(
								'pvz-site-ready'
							);
					}
				);
			}
		);
	}

	function finishSiteDesign() {
		waitForCriticalAssets().then(
			revealSiteDesign,
			revealSiteDesign
		);
	}

	if ( document.readyState === 'loading' ) {
		document.addEventListener(
			'DOMContentLoaded',
			finishSiteDesign,
			{ once: true }
		);
	} else {
		finishSiteDesign();
	}
}() );