사용자:Theoteryi/friendlyclock.js

참고: 설정을 저장한 후에 바뀐 점을 확인하기 위해서는 브라우저의 캐시를 새로 고쳐야 합니다. 구글 크롬, 파이어폭스, 마이크로소프트 엣지, 사파리: ⇧ Shift 키를 누른 채 "새로 고침" 버튼을 클릭하십시오. 더 자세한 정보를 보려면 위키백과:캐시 무시하기 항목을 참고하십시오.

// If FriendlyConfig aint exist.
if( typeof( FriendlyConfig ) == 'undefined' ) {
    FriendlyConfig = {};
}

/**
 FriendlyConfig.enableClock ( boolean )
 */
if( typeof( FriendlyConfig.enableClock ) == 'undefined' ) {
    FriendlyConfig.enableClock = true;
}

/**
 FriendlyConfig.clockStyle ( String )
 */
if( typeof( FriendlyConfig.clockStyle ) == 'undefined' ) {
    FriendlyConfig.clockStyle = 'dynamic';
}

friendlyclock = {
    showClock: function() {
        var query = {
            'action': 'purge',
            'title': wgPageName
        };
        friendlyclock.clockNode = mw.util.addPortletLink( 'p-personal', mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/index.php?' + QueryString.create( query ), '--:--:-- UTC', 'friendly-clock', 'Purge this page', '' );
        friendlyclock.clockNode.style.fontSize = 'normal';
        friendlyclock.clockNode.style.fontWeight = 'bold';
        friendlyclock.clockNode.style.textTransform = 'uppercase';
        
        friendlyclock.updateTime();
        if( FriendlyConfig.clockStyle != 'static' ) {
            friendlyclock.intervalId = window.setInterval(friendlyclock.updateTime, 1000);
        }
    },
    updateTime: function() {
        if( !friendlyclock.clockNode ) {
            return;
        }
        var now = new Date();
        var hh = now.getUTCHours();
        var mm = now.getUTCMinutes();
        var ss = now.getUTCSeconds();
        var time = ( hh < 10 ? '0' + hh : hh ) + ':' + ( mm < 10 ? '0' + mm : mm ) + ':' + ( ss < 10 ? '0' + ss : ss) + ' UTC';
        friendlyclock.clockNode.firstChild.innerHTML = time;
    }
}

$( function() {
        if( FriendlyConfig.enableClock ) {
            friendlyclock.showClock();
        }
    }
);