Benutzer:Totto/common.js
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
var id=null; 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="refresh()" 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(); id=setInterval(onlinecounter,60*1000) alertinit() isDatei() } 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(); var url="https://conanwiki.org/wiki/Spezial:Wer_ist_gerade_online" window.open(url,"_blank") } function onlinecounter(){ var url="https://conanwiki.org/wiki/Spezial:Wer_ist_gerade_online" fetch(url).then(function (response) { // The API call was successful! return response.text(); }).then(function (html) { try{ 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; } }); } function isDatei(){ var is=window.location.pathname.split("/").map(function (a){return a.startsWith("Datei:")}).reduce(function (a,b){return a||b}) if(is){ document.getElementById("file").addEventListener('contextmenu',getText,false) } } function getText(){ // ev.preventDefault(); // alert('success!'); // return false; var url="https://conanwiki.org/index.php?title="+(window.location.pathname.split("/").reduce(function (a,b){return b}))+"&action=edit" fetch(url).then(function (response) { // The API call was successful! return response.text(); }).then(function (html) { try{ var num=0; // Convert the HTML string into a document object var parser = new DOMParser(); var doc = parser.parseFromString(html, 'text/html'); var text=doc.getElementById("wpTextbox1").innerHTML; navigator.clipboard.writeText(text); alertSucess("Inhalt kopiert"); }catch(err) { // There was an error console.warn('Something went wrong.', err); document.getElementById("TottoOnlineCounter").getElementsByTagName("a")[0].innerHTML=0; } }); } function alertinit(){ var div = document.createElement('div'); var style = document.createElement('style'); style.innerHTML = '.alert { padding: 20px; background-color: #4bac4f; color: white; margin-bottom: 15px;}.closebtn { margin-left: 15px; color: white; font-weight: bold; float: right; font-size: 22px; line-height: 20px; cursor: pointer; transition: 0.3s;} .closebtn:hover { color: black;} .fade-out-20 { animation: fadeOut ease 20s; -moz-animation: fadeOut ease 20s; } .fade-out-5 { animation: fadeOut ease 5s; -moz-animation: fadeOut ease 5s; } @keyframes fadeOut { 0% { opacity:1; } 100% { opacity:0; } } @-moz-keyframes fadeOut { 0% { opacity:1; } 100% { opacity:0; } } '; div.innerHTML = ' <div id="alert-box" class="alert" style="display:none;position: fixed;top: 50%;z-index: 100;left: 25%;width: 50%;text-align: center;font-size: 49px;"><span onclick="this.parentElement.style.display=\'none\'" class="closebtn" style="font-size: 63px;">×</span><span id="alert-text">Alert</span></div>'; document.head.appendChild(style); document.body.appendChild(div); } function alertSucess(text){ alert(text,"#4bac4f"); } function alert(text,color){ var d=document.getElementById("alert-box") ; d.classList.remove("fade-out-20"); d.style.display="block"; d.style.opacity=1; d.style["background-color"]=color; d.classList.add("fade-out-20"); var t=document.getElementById("alert-text"); t.innerHTML=text; setTimeout(function (){ var d=document.getElementById("alert-box") ; d.style.display="none"; d.classList.remove("fade-out-20"); },20*1000); } mainTotto();