User:Qwerfjkl/scripts/encode.js

// Make sure the utilities module is loaded (will only load if not already) mw.loader.using( 'mediawiki.util', function {

// Wait for the page to be parsed $( document ).ready( function {

var link = mw.util.addPortletLink( 'p-tb', '#', 'Encode', 'tb-encode', 'Encode character(s)'); $( link ).click( function ( event ) {           event.preventDefault;            encodeHTML;

} );   } ); } ); function encodeHTML {	rawStr = prompt( "What do you want to encode?");	var encodedStr = rawStr.replace(/[\u00A0-\u9999<>\&]/g, function(i) { return '&#'+i.charCodeAt(0)+';'; });	alert( "The encoded string is: "+ encodedStr);	copyToClipboard(encodedStr);	mw.notify('Encoded string copied.'); }

function copyToClipboard(text) { // Taken from stackoverflow if (window.clipboardData && window.clipboardData.setData) { // Internet Explorer-specific code path to prevent textarea being shown while dialog is visible. return window.clipboardData.setData("Text", text);

}   else if (document.queryCommandSupported && document.queryCommandSupported("copy")) { var textarea = document.createElement("textarea"); textarea.textContent = text; textarea.style.position = "fixed"; // Prevent scrolling to bottom of page in Microsoft Edge. document.body.appendChild(textarea); textarea.select; try { return document.execCommand("copy"); // Security exception may be thrown by some browsers. }       catch (ex) { console.warn("Copy to clipboard failed.", ex); return prompt("Copy to clipboard: Ctrl+C, Enter", text); }       finally { document.body.removeChild(textarea); }   } }