MediaWiki:Gadget-LongEditSummaries.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.
// LIMIT EDIT SUMMARIES TO EXACTLY 250 UTF-8 BYTES // see EditPage::importFormData() for this limit // created by Ilmari Karonen and Remember_the_dot addOnloadHook(function() { var wpSummary = document.getElementById("wpSummary") if (wpSummary) { var adjustMaxLength = function () { // subtract the number of UTF-8 continuation bytes (0x80-0xBF) from the maxlength var maxLength = 250 - encodeURI(wpSummary.value).split(/%[89AB]/i).length + 1 wpSummary.maxLength = maxLength // the last character or group might've pushed us over; if so, inform the user var errorMessage = document.getElementById("editSummaryTooLong") if (wpSummary.value.length > maxLength) { if (!errorMessage) { wpSummary.style.border = "3px solid red" document.getElementById("wpSave").disabled = true var editSummaryTooLong = document.createElement("div") editSummaryTooLong.id = "editSummaryTooLong" editSummaryTooLong.style.color = "red" editSummaryTooLong.style.fontWeight = "bold" editSummaryTooLong.appendChild(document.createTextNode("Your edit summary is too long.")) var wpMinoredit = document.getElementById("wpMinoredit") wpMinoredit.parentNode.insertBefore(editSummaryTooLong, wpMinoredit) } } else { if (errorMessage) { wpSummary.style.border = "" document.getElementById("wpSave").disabled = false errorMessage.parentNode.removeChild(errorMessage) } } oldValue = wpSummary.value } addHandler(wpSummary, "keyup", adjustMaxLength) addHandler(wpSummary, "change", adjustMaxLength) adjustMaxLength() } })