User:Ou0430/Friendly/friendlyclock.js

维基新闻,自由的新闻源

注意:在发布之后,您可能需要清除浏览器缓存才能看到所作出的变更的影响。

  • Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5Ctrl-R(Mac为⌘-R
  • Google Chrome:Ctrl-Shift-R(Mac为⌘-Shift-R
  • Internet Explorer或Edge:按住Ctrl的同时单击刷新,或按Ctrl-F5
  • Opera:Ctrl-F5
// 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';
}

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

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

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 / --:--:-- LOCAL', 'friendly-clock', '刷新缓存', '' );
		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.getHours();
		var mm = now.getMinutes();
		var ss = now.getSeconds();
		var time = ( hh < 10 ? '0' + hh : hh ) + ':' + ( mm < 10 ? '0' + mm : mm ) + ':' + ( ss < 10 ? '0' + ss : ss) + ' Local';
		var uhh = now.getUTCHours();
		var umm = now.getUTCMinutes();
		var uss = now.getUTCSeconds();
		var utime = ( uhh < 10 ? '0' + uhh : uhh ) + ':' + ( umm < 10 ? '0' + umm : umm ) + ':' + ( uss < 10 ? '0' + uss : uss) + ' UTC';
		if( FriendlyConfig.doubleClock ) {
			var res = utime + " / " + time;
		} else if( FriendlyConfig.clockLocal ) {
			var res = time;
		} else {
			var res = utime;
		}
		friendlyclock.clockNode.firstChild.innerHTML = res;
	}
}

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