Зиновьев, Степан Степанович (младший)
- 1 year ago
- 0
- 0
После
сохранения или
недавних изменений
очистите кэш браузера
.
Код
относится к гаджету
:
Добавить часы в углу страницы, показывающие время по
UTC
и очищающие кэш сервера по щелчку
/**
* Глобальная версия этого гаджета расположена на [[mw:MediaWiki:Gadget-UTCLiveClock.js]],
* туда можно заглядывать за обновлениями (но там на 12 октября 2017 года не было некоторых
* возможностей, которые есть у нас, и там код рассчитан на загрузку без зависимостей и стилей).
*/
( function( mw, $ ) {
function padWithZeroes( num ) {
// Отбить число нулями. Число должно быть натуральным, где 0 <= num < 100.
return num < 10 ? '0' + num.toString() : num.toString();
}
function showTime( $target ) {
var now = new Date(),
hh = now.getUTCHours(),
mm = now.getUTCMinutes(),
ss = now.getUTCSeconds(),
time = padWithZeroes( hh ) + ':' + padWithZeroes( mm ) + ':' + padWithZeroes( ss );
$target.text( time );
}
runAsEarlyAsPossible( function liveClock() {
var node = mw.util.addPortletLink(
'p-personal',
mw.util.getUrl( null, { action: 'purge' } ),
'',
'utcdate',
'Очистить кэш страницы'
);
if ( !node ) return;
var $link = $( node ).find( 'a:first' );
$link.on( 'click', function ( e ) {
new mw.Api().post( {
action: 'purge',
titles: mw.config.get( 'wgPageName' )
} ).then( function () {
var url = mw.util.getUrl();
if ( e.ctrlKey ) {
if ( !window.open( url ) ) {
location.assign( url );
}
} else {
location.assign( url );
}
}, function () {
mw.notify( 'Не удалось очистить кэш.', { type: 'error' } );
} );
e.preventDefault();
} );
var $textNode = $link;
if ( $link.find( 'span:last' ).length ) {
$textNode = $link.find( 'span:last' );
}
showTime( $textNode );
$( '#pt-logout' ).addClass( 'utcdate-added' );
var interval = setInterval( function() {
try {
showTime( $textNode );
} catch(e) {
clearInterval( interval );
}
}, 1000 );
}, $( '#pt-logout' ) );
}( mediaWiki, jQuery ) );