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.
function isUserLoggedIn() {
return !mw.user.isAnon();
}
function handleElement($element) {
if ($element.attr('aria-disabled') === 'true') {
$element.after(
'<p>Please <a href="/wiki/Special:UserLogin">login</a> or <a href="/wiki/Special:UserSignup">sign up</a> to continue.</p>'
);
}
}
function handleMutations(mutationsList) {
mutationsList.forEach((mutation) => {
if (mutation.type === 'childList') {
mutation.addedNodes.forEach((node) => {
if ($(node).hasClass('oo-ui-buttonElement-button')) {
handleElement($(node));
}
});
} else if (mutation.type === 'attributes' && mutation.attributeName === 'aria-disabled') {
handleElement($(mutation.target));
}
});
}
const observer = new MutationObserver(handleMutations);
observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['aria-disabled'] });
$(document).ready(() => {
$('.oo-ui-buttonElement-button').each((index, element) => {
handleElement($(element));
});
});