MediaWiki:Common.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.
// --- COMMON.JS: Minimal Calculator (ES5 safe) ---
mw.hook('wikipage.content').add(function () {
var container = document.getElementById("calcContainer");
if (!container) return;
container.innerHTML =
'<div style="margin:10px 0;">' +
'<label>Num1: <input type="number" id="num1" value="0" style="width:60px;"></label> ' +
'<label>Num2: <input type="number" id="num2" value="0" style="width:60px;"></label> ' +
'<label>Operation: ' +
'<select id="op">' +
'<option value="+">+</option>' +
'<option value="-">-</option>' +
'<option value="*">*</option>' +
'<option value="/">/</option>' +
'</select>' +
'</label> ' +
'<button id="calcButton">Calculate</button>' +
'</div>' +
'<div>Result: <span id="result">0</span></div>';
var btn = document.getElementById("calcButton");
btn.onclick = function () {
var a = parseFloat(document.getElementById("num1").value);
var b = parseFloat(document.getElementById("num2").value);
var op = document.getElementById("op").value;
var result;
if (isNaN(a) || isNaN(b)) {
result = "Enter valid numbers";
} else {
switch(op) {
case "+": result = a + b; break;
case "-": result = a - b; break;
case "*": result = a * b; break;
case "/": result = b !== 0 ? a / b : "∞"; break;
default: result = "Error";
}
}
document.getElementById("result").textContent = result;
};
});