利用者:Akaniji/lockrollback.js
表示
お知らせ: 保存した後、ブラウザのキャッシュをクリアしてページを再読み込みする必要があります。
多くの Windows や Linux のブラウザ
- Ctrl を押しながら F5 を押す。
Mac における Safari
Mac における Chrome や Firefox
- ⌘ Cmd と ⇧ Shift を押しながら R を押す。
詳細についてはWikipedia:キャッシュを消すをご覧ください。
//
// LockRollback ver 0.1
// https://commons.wikimedia.org/wiki/User:Whym/lockrollback.js
//
// Warning: this script is nowhere close to finished. Use it at your own risk.
//
// How to use:
//
// Add below to [[Special:MyPage/common.js]].
// importScript("User:Whym/lockrollback.js");
//
// This script disables rollback links.
// They can be reactivated when you click a portlet link "unlock rollback" in the side bar.
//
(function ($, mw, undefined) {
"use strict";
var lrb = mw.LockRollback = {
targets: $('.mw-rollback-link a'),
init: function(lang) {
// exit if there is no rollback links
if (lrb.targets.length == 0) return;
// set up messages
mw.messages.set({
'lrb-portlettext-unlock' : 'Unlock rollbacks',
'lrb-portlettext-lock': 'Lock rollbacks'
});
// set up CSS classes
mw.util.addCSS('.lockrollback-locked, .lockrollback-locked:hover { text-decoration: line-through; }');
mw.util.addCSS('.lockrollback-unlocked, .lockrollback-unlocked:hover { text-decoration: underline; }');
// set the default state to locked
lrb.lock();
// set up a portlet link to toggle locked/unlocked
$( mw.util.addPortletLink('p-tb', '#', mw.msg('lrb-portlettext-unlock'), 't-lockrollback-trigger') ).click( function ( e ) {
e.preventDefault();
if ( lrb.locked() ) {
lrb.unlock();
} else {
lrb.lock();
}
});
},
locked: function() {
return lrb.targets.hasClass('lockrollback-locked');
},
unlock: function() {
$('#t-lockrollback-trigger a').html(mw.msg('lrb-portlettext-lock'));
lrb.targets.removeClass('lockrollback-locked').addClass('lockrollback-unlocked');
lrb.targets.unbind('click').click(function(x){
x.preventDefault();
document.location.replace($(x.target).attr('href'));
});
},
lock: function() {
$('#t-lockrollback-trigger a').html(mw.msg('lrb-portlettext-unlock'));
lrb.targets.addClass('lockrollback-locked').removeClass('lockrollback-unlocked');
lrb.targets.unbind('click').click(function(x){
x.preventDefault();
});
},
}; // LockRollback
// executed from here when loaded
mw.loader.using(['mediawiki.util'], function() {
lrb.init();
});
})(jQuery, mediaWiki);