MediaWiki:Common.js
Jump to navigation
Jump to search
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.
/* Any JavaScript here will be loaded for all users on every page load. */
function AppendCategoryTreeToSidebar() {
try {
var node = document.getElementById( "p-tb" )
.getElementsByTagName('div')[0]
.getElementsByTagName('ul')[0];
var aNode = document.createElement( 'a' );
var liNode = document.createElement( 'li' );
var url = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/index.php/Special:CategoryTree';
aNode.appendChild( document.createTextNode( 'CategoryTree' ) );
aNode.setAttribute( 'href' , url );
liNode.appendChild( aNode );
liNode.className = 'plainlinks';
node.appendChild( liNode );
} catch(e) {
// lets just ignore what's happened
return;
}
}
addOnloadHook( AppendCategoryTreeToSidebar );
function navi(map, x, y) {
var text = "/navi " + map + " " + x + "/" + y;
// Create a temporary textarea element
const textarea = document.createElement("textarea");
textarea.value = text;
textarea.style.position = "fixed"; // Make it invisible and outside of the viewport
textarea.style.left = "-9999px";
textarea.style.top = "-9999px";
document.body.appendChild(textarea);
// Select and copy the text from the textarea
textarea.select();
document.execCommand("copy");
// Remove the textarea from the DOM
document.body.removeChild(textarea);
}
$(document).on('click', '.navi-copy-text', function() {
var txt= $(this)[0].innerText.replace('(','').replace(')','').split(' ');
var cords = txt[1].split(',');
var location = txt[0];
var x = cords[0];
var y = cords[1];
navi(location, x, y);
});
window.onload = function() {
var elements = document.getElementsByClassName('navi-copy-text');
for(var i = 0; i < elements.length; i++) {
elements[i].setAttribute('title', 'Click here to copy to the clipboard, then paste in game');
}
};