MediaWiki:Common.js
提供: 小樽のじかん事典
注意: 保存後、変更を確認するにはブラウザーのキャッシュを消去する必要がある場合があります。
- Firefox / Safari: Shift を押しながら 再読み込み をクリックするか、Ctrl-F5 または Ctrl-R を押してください (Mac では ⌘-R)
- Google Chrome: Ctrl-Shift-R を押してください (Mac では ⌘-Shift-R)
- Microsoft Edge: Ctrl を押しながら 最新の情報に更新 をクリックするか、Ctrl-F5 を押してください。
/**
* MediaWiki 1.44.3 アカウント作成画面 最終強制書き換えスクリプト
* 画面の動的更新(OOUI)を監視し、常に指定のラベルと属性を維持します。
*/
(function() {
// 処理対象の関数定義
var enforceCustomization = function() {
if (mw.config.get('wgCanonicalSpecialPageName') !== 'CreateAccount') {
return;
}
// 1. ラベルの置換(メールアドレス)
var labels = document.getElementsByTagName('label');
for (var i = 0; i < labels.length; i++) {
var label = labels[i];
// メールアドレスラベルの強制書き換え
if (label.innerHTML.indexOf('メールアドレス') !== -1 && label.innerHTML.indexOf('(省略可能)') !== -1) {
label.innerHTML = 'メールアドレス';
}
// 本名ラベルの強制書き換え
if (label.innerHTML.indexOf('本名') !== -1) {
label.innerHTML = 'HN(省略可能)';
}
}
// 2. 入力項目の強制必須化
var emailInput = document.getElementById('wpEmail');
if (emailInput) {
if (!emailInput.required) {
emailInput.required = true;
emailInput.setAttribute('required', 'required');
}
}
};
// 実行タイミングの制御
if (mw.config.get('wgCanonicalSpecialPageName') === 'CreateAccount') {
// 初回実行
enforceCustomization();
// ページ全体を監視し、MediaWikiが後からHTMLを書き換えても即座に再適用する
var observer = new MutationObserver(function(mutations) {
enforceCustomization();
});
observer.observe(document.body, {
childList: true,
subtree: true
});
// 予備の実行(ネットワーク遅延対策)
window.addEventListener('load', enforceCustomization);
setTimeout(enforceCustomization, 1000);
}
})();