No edit summary |
No edit summary |
||
| (10 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
| − | function |
+ | $(document).ready(function() { |
| ⚫ | |||
| − | + | if (mw.user.isAnon()) { |
|
| − | } |
||
| + | var elements = $('.cs-header > .oo-ui-widget-disabled'); |
||
| − | |||
| + | elements.each(function() { |
||
| − | function handleElement($element) { |
||
| − | + | var $element = $(this); |
|
| − | + | var loginMessage = '<p style="cs-custom-login-prompt">Please <a href="/wiki/Special:UserLogin">login</a> or <a href="/wiki/Special:CreateAccount">sign up</a> to continue.</p>'; |
|
| + | $element.after(loginMessage); |
||
| − | } |
||
| − | } |
||
| − | |||
| − | function handleMutations(mutationsList) { |
||
| − | mutationsList.forEach(function (mutation) { |
||
| − | if (mutation.type === 'childList') { |
||
| − | Array.prototype.forEach.call(mutation.addedNodes, function (node) { |
||
| − | if ($(node).hasClass('oo-ui-buttonElement-button')) { |
||
| − | handleElement($(node)); |
||
| − | } |
||
}); |
}); |
||
| − | } else if (mutation.type === 'attributes' && mutation.attributeName === 'aria-disabled') { |
||
| − | handleElement($(mutation.target)); |
||
} |
} |
||
| − | }); |
+ | }, 250); |
| − | } |
||
| − | |||
| − | var observer = new MutationObserver(handleMutations); |
||
| − | observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['aria-disabled'] }); |
||
| − | |||
| ⚫ | |||
| − | $('.oo-ui-buttonElement-button').each(function (index, element) { |
||
| − | handleElement($(element)); |
||
| − | }); |
||
}); |
}); |
||
Latest revision as of 01:31, 15 October 2023
$(document).ready(function() {
setTimeout(function() {
if (mw.user.isAnon()) {
var elements = $('.cs-header > .oo-ui-widget-disabled');
elements.each(function() {
var $element = $(this);
var loginMessage = '<p style="cs-custom-login-prompt">Please <a href="/wiki/Special:UserLogin">login</a> or <a href="/wiki/Special:CreateAccount">sign up</a> to continue.</p>';
$element.after(loginMessage);
});
}
}, 250);
});