NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name KDD // @namespace https://github.com/eltomjan // @namespace https://openuserjs.org/users/eltomjan // @version 1 // @copyright 2019, El Tom Elzein // @licence MIT // @description KDD improvement 4 real blind users... // @author El Tom Elzein // @include *kdd.cz* // @grant none // ==/UserScript== // ==OpenUserJS== // @author eltomjan // ==/OpenUserJS== (function() { 'use strict'; if(location.host.indexOf(".kdd.cz") < 0) return; var pages = "?page=uzivatel|?page=moje-novinky-tyden|?page=moje-novinky-login|?base-search|?url=|?page=vyhledavani".split('|') var found = -1; for(var i=0;i<pages.length;i++) if(location.search.startsWith(pages[i])) found = i; if(location.search.startsWith('?')) { if(found != -1) { var links = '<a href="index.php?url=kniha&count-per-page=30&page=moje-novinky-tyden">Nové knihy týden</a>' + ' <a href="index.php?url=kniha&count-per-page=30&page=moje-novinky-login" accesskey="m">Nové knihy přihlášení</a>' + ' <a href="index.php?page=odhlaseni" accesskey="x">Odhlášení</a>' var spn = document.createElement("SPAN"); spn.innerHTML = links; document.cookie = "no-css=1"; document.body.insertBefore(spn, document.body.firstChild); if(found === 0) return; } } if(found < 1) return; var tab = document.getElementsByTagName("TABLE"); if (tab.length) { //document.getElementById("menu").style.display="none"; //document.getElementById("left-clmn").style.display="none"; var row = tab[0].rows; for(var r=1;r<row.length;r++) { var col = row[r].cells; for(var c=0;c<col.length;c++) { if(col[c].firstChild && col[c].firstChild.nodeName == "#text") { var short = col[c].innerText.replace(/'/g," apostrof "); if(short.length > 1000) short = "kontrol á kontrol cé " + short.substr(0,900); col[c].innerHTML = "<textarea title='"+row[0].cells[c].innerText +" " + short +"' rows=20 cols=40>" + col[c].innerText + "</textarea>"; } } } document.onkeydown = function(e) { var pg = " PageUp PageDown".indexOf(e.code); if(pg > 0) { if(null !== document.getElementsByTagName("INPUT")[0].form) return; var buttonsNo = 1 + !document.getElementsByTagName("INPUT")[1].form; var page = document.getElementsByName("stranka")[0]; if(pg == 1) { //if(buttonsNo > 1 || document.getElementsByTagName("INPUT")[0].outerHTML.indexOf("stranka=1") < 0) { if(page && page.value != "0") { document.getElementsByTagName("INPUT")[0].onclick(); } } else { //if(buttonsNo == 1 && document.getElementsByTagName("INPUT")[0].outerHTML.indexOf("stranka=1") < 0) return; if(!page || document.getElementsByTagName("INPUT")[buttonsNo-1].outerHTML.indexOf("stranka="+ (page.value*1+1)) > 0) { document.getElementsByTagName("INPUT")[buttonsNo-1].onclick(); } } return; } var el = e.rangeParent; if(!el) el = e.originalTarget; if(!el) return; while(el && el.tagName != "TD") el = el.parentElement; if(!el) { if(!e.code.startsWith("Arrow")) return; var tab = document.getElementsByTagName("TABLE"); if (tab.length) el = tab[0].rows[1].cells[0]; else return; } var ci = el.cellIndex; while(el && el.tagName != "TR") el = el.parentElement; var ri = el.rowIndex; if(e.code == "ArrowLeft") { if(ci > 0) ci--; else return; } else if(e.code == "ArrowRight") { ci++; } else if(e.code == "ArrowDown") { ri++; } else if(e.code == "ArrowUp") { if(ri > 1) ri--; else return; } do { while(el && el.tagName != "TABLE") el = el.parentElement; if(el.rows.length > ri) el = el.rows[ri]; else return; if(el.cells.length > ci) el = el.cells[ci]; else return; if(el) { if(el.firstChild) { while(el.firstChild && el.firstChild.nodeName != "#text") el = el.firstChild; if(el) el.focus(); } else { if(e.code == "ArrowLeft") { if(ci > 0) { ci--; continue; } else return; } else if(e.code == "ArrowRight") { ci++; continue; } } } return; } while(true); }; document.onkeydown({"rangeParent":row[1].cells[0], "code":""}); } })();