MediaWiki:Gadget-UserMessages.js
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Press Ctrl-F5.
//<nowiki>
/**
** This is the installer-Script for MediaWiki:AxUserMsg.js
** Using LOD (Load on demand) to increase the overall page-loading time.
** Written in 2011 by Rillke
**
**/
// This Code is jsHint valid!
/*global jQuery:false, mw:false, importScript:false */
(function($) {
'use strict';
if (3 === mw.config.get('wgNamespaceNumber') ||
2 === mw.config.get('wgNamespaceNumber') ||
( -1 === mw.config.get('wgNamespaceNumber') && ('Log' === mw.config.get('wgCanonicalSpecialPageName') || 'Contributions' === mw.config.get('wgCanonicalSpecialPageName')) )) {
var loadFullScript = function() {
mw.loader.load( mw.config.get( 'wgServer' ) + mw.config.get( 'wgScript' ) + '?title=MediaWiki:AxUserMsg.js&action=raw&ctype=text/javascript&dummy=5' );
};
if (window.installOldLinks || window.AxUserMsgFireAsYouClick) {
if (window.AxUserMsgFireAsYouClick) {
window.installOldLinks = true;
}
// User wants old links - therefore we have to load the whole script each time
loadFullScript();
return;
} else {
$(document).ready(function () {
mw.loader.using(['mediawiki.util'], function () {
if (window.installOldLinks || window.AxUserMsgFireAsYouClick) {
if (window.AxUserMsgFireAsYouClick) {
window.installOldLinks = true;
}
// User js was loaded later, so do it now!
loadFullScript();
return;
}
if (0 === $('#t-AjaxUserMessage').length && 0 === $('#t-AjaxUserMessageLOD').length) {
var linktext = "Notify this user";
var pHref = mw.util.addPortletLink('p-tb', '#', linktext, 't-AjaxUserMessageLOD', null);
$(pHref).click(function(e) {
var $linknode = $(this).find('a');
e.preventDefault();
$linknode.text('Loading...');
$(document).on('scriptLoaded', function(evt, st, o) {
if (st) {
if ('AxUserMsg' === st && o) {
$linknode.text(linktext);
o.umNotifyUser();
}
}
});
$(this).off('click');
loadFullScript();
});
}
});
});
}
} // Namespace Guard
})(jQuery);
//</nowiki>