「MediaWiki:Common.js」の版間の差分
提供: 小樽のじかん事典
編集の要約なし |
編集の要約なし |
||
| 1行目: | 1行目: | ||
/** | /** | ||
* MediaWiki 1.44.3 アカウント作成画面 | * MediaWiki 1.44.3 アカウント作成画面 最終物理解決(JS版) | ||
*/ | */ | ||
(function() { | (function() { | ||
var enforce = function() { | |||
var | if (mw.config.get('wgCanonicalSpecialPageName') !== 'CreateAccount') return; | ||
if (mw.config.get('wgCanonicalSpecialPageName') !== 'CreateAccount') | |||
// 1. | // 1. ラベルの書き換え | ||
var labels = document.getElementsByTagName('label'); | var labels = document.getElementsByTagName('label'); | ||
for (var i = 0; i < labels.length; i++) { | for (var i = 0; i < labels.length; i++) { | ||
if (labels[i].innerHTML.indexOf('メールアドレス') !== -1) { | |||
labels[i].innerHTML = 'メールアドレス'; | |||
} | } | ||
if (labels[i].innerHTML.indexOf('本名') !== -1) { | |||
if ( | labels[i].innerHTML = 'HN(省略可能)'; | ||
} | } | ||
} | } | ||
// 2. | // 2. メールアドレス必須化(属性付与) | ||
var emailInput = document.getElementById('wpEmail'); | var emailInput = document.getElementById('wpEmail'); | ||
if (emailInput) { | if (emailInput) { | ||
emailInput.required = true; | |||
emailInput.setAttribute('required', 'required'); | |||
} | } | ||
}; | }; | ||
// | // 実行と監視 | ||
if (mw.config.get('wgCanonicalSpecialPageName') === 'CreateAccount') { | if (mw.config.get('wgCanonicalSpecialPageName') === 'CreateAccount') { | ||
// | enforce(); | ||
// 画面の変化を常に監視して、上書きを許さない | |||
var observer = new MutationObserver(enforce); | |||
// | observer.observe(document.body, {childList: true, subtree: true}); | ||
var | |||
// 送信ボタンクリック時にも強制チェック | |||
$(document).on('click', '#wpCreateaccount', function(e) { | |||
var email = document.getElementById('wpEmail'); | |||
if (email && !email.value) { | |||
alert('メールアドレスは必須項目です。'); | |||
email.focus(); | |||
e.preventDefault(); | |||
return false; | |||
} | |||
}); | }); | ||
} | } | ||
})(); | })(); | ||
2025年12月27日 (土) 11:13時点における版
/**
* MediaWiki 1.44.3 アカウント作成画面 最終物理解決(JS版)
*/
(function() {
var enforce = function() {
if (mw.config.get('wgCanonicalSpecialPageName') !== 'CreateAccount') return;
// 1. ラベルの書き換え
var labels = document.getElementsByTagName('label');
for (var i = 0; i < labels.length; i++) {
if (labels[i].innerHTML.indexOf('メールアドレス') !== -1) {
labels[i].innerHTML = 'メールアドレス';
}
if (labels[i].innerHTML.indexOf('本名') !== -1) {
labels[i].innerHTML = 'HN(省略可能)';
}
}
// 2. メールアドレス必須化(属性付与)
var emailInput = document.getElementById('wpEmail');
if (emailInput) {
emailInput.required = true;
emailInput.setAttribute('required', 'required');
}
};
// 実行と監視
if (mw.config.get('wgCanonicalSpecialPageName') === 'CreateAccount') {
enforce();
// 画面の変化を常に監視して、上書きを許さない
var observer = new MutationObserver(enforce);
observer.observe(document.body, {childList: true, subtree: true});
// 送信ボタンクリック時にも強制チェック
$(document).on('click', '#wpCreateaccount', function(e) {
var email = document.getElementById('wpEmail');
if (email && !email.value) {
alert('メールアドレスは必須項目です。');
email.focus();
e.preventDefault();
return false;
}
});
}
})();