Benutzer:Totto/common.js

Aus ConanWiki
Zur Navigation springen Zur Suche springen

Hinweis: Leere nach dem Veröffentlichen den Browser-Cache, um die Änderungen sehen zu können.

  • Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
  • Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
  • Internet Explorer/Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
  • Opera: Strg+F5


function mainTotto(){

var tf=document.getElementById("p-personal");
var containerQuickJump= tf.getElementsByTagName("ul")[0];
var container = document.createElement("li");	
	container.setAttribute("class","TottoCustomContainer");
    container.innerHTML='<a href="/wiki/ConanWiki:NextHints" dir="auto" title="Quick Acess Hints" >Hints</a>';
    container.setAttribute("id","TottoHints");
    containerQuickJump.prepend(container);
var container2 = document.createElement("li");	
	container2.setAttribute("class","TottoCustomContainer");
    container2.innerHTML='<a href="/wiki/Vorlage:Anime-JP" dir="auto" title="Quick Acess Vorlage JP" >Vorlage JP</a>';
    container2.setAttribute("id","TottoVorlageJP");
    containerQuickJump.prepend(container2);
var container3 = document.createElement("li");	
	container3.setAttribute("class","TottoCustomContainer");
    container3.innerHTML='<a onclick="scrollToBottom();" dir="auto" title="Quick Acess Down" >Downscroll</a>';
    container3.setAttribute("id","TottoScrollDown");
    containerQuickJump.prepend(container3);		
var container4 = document.createElement("li");	
	container4.setAttribute("class","TottoCustomContainer");
    container4.innerHTML='<a onclick="onlinecounter()" dir="auto" title="Online Counter">0</a>';
    container4.setAttribute("id","TottoOnlineCounter");
    containerQuickJump.prepend(container4);		
	//addHotkey("s","scrollToBottom");
    //addHotkey("u","scrollToTop");
	//addHotkey("p","preview");
	//AddAcessKeys();
	onlinecounter();
	}
	
function preview(){
var ed= document.getElementsByClassName("editButtons");
if(ed.length>=1){
	///Auto HotkeyPreview Preview :yum:
	var previewbt=document.getElementById("wpPreview");
	previewbt.click();
	
}
}
	
	
function addToQuicklink(title,link){
var tf=document.getElementById("p-personal");
var containerQuickJump= tf.getElementsByTagName("ul")[0];
var container = document.createElement("li");	
	container.setAttribute("class","TottoCustomContainer");
    container.innerHTML='<a href="'+link+'" dir="auto" title="Quick Acess '+title+'" >'+title+'</a>';
    container.setAttribute("id","TottoHints");
    containerQuickJump.prepend(container);

	




}	
	
function scrollToBottom(){
	
	window.scrollTo(0,document.body.scrollHeight);
}
function scrollToTop(){
	window.scrollTo(0,document,0)
	
}
function addHotkey(hotkey,function_to_call){
	var num= hotkey.toUpperCase().charCodeAt(0);

 document.addEventListener("keydown", function(event) {  const key = event.keyCode; if(key===num&&event.altKey&&event.shiftKey){ window[function_to_call](); } }   );

}



function addHotkeyF(hotkey,function_to_call){	
var num= hotkey.toUpperCase().charCodeAt(0); 
 document.addEventListener("keydown", function(event) { const key = event.keyCode; if(key===num&&event.altKey&&event.shiftKey){ function_to_call(); } }   );
}


function getAllElementsWithAttribute(attribute){
  var matchingElements = [];
  var allElements = document.getElementsByTagName('*');
  for (var i = 0, n = allElements.length; i < n; i++){
    if (allElements[i].getAttribute(attribute) !== null) {
      // Element exists with attribute. Add to array.
      matchingElements.push(allElements[i]);
    }
  }
  return matchingElements;
}

function clickf(elementr){
	elementr.click();
}

function AddAcessKeys(){
	var t= getAllElementsWithAttribute("accesskey");
	for(var i=0;i<t.length;i++){
		var key=t[i].getAttribute("accesskey");
		if(key!="."&&key!=""){
			addHotkeyF(key,clickf(t[i]));
		}
		
	}
	
	
}
function refresh(){
onlinecounter();
}

function onlinecounter(){
var url="https://conanwiki.org/wiki/Spezial:Wer_ist_gerade_online"
 fetch(url).then((response)=> {
	// The API call was successful!
	return response.text();
}).then((html)=> {
	var num=0;
	// Convert the HTML string into a document object
	var parser = new DOMParser();
	var doc = parser.parseFromString(html, 'text/html');
	var cont=document.getElementById("TottoOnlineCounter").getElementsByTagName("a")[0];
	var c=doc.getElementById("mw-content-text");
	num=c.getElementsByTagName("ul")[0].getElementsByTagName("li").length;
	cont.innerHTML=num;
	console.log(num);
}).catch( (err)=> {
	// There was an error
	console.warn('Something went wrong.', err);
	document.getElementById("TottoOnlineCounter").getElementsByTagName("a")[0].innerHTML=0;
});

			



}



mainTotto();