您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
V pravidelných intervalech kontroluje oblíbené a novou poštu na serveru okoun.cz
// ==UserScript== // @name Okoun Check Lite // @namespace ocl.okoun.cz // @description V pravidelných intervalech kontroluje oblíbené a novou poštu na serveru okoun.cz // @include https://www.okoun.cz/favourites.jsp?new=1 // @author BALCARENKO // @version 1.5 // @grant none // ==/UserScript== (function() { // nastaveni var SETTINGS = { reloadInSeconds: 77, hideCategories: false, openLinksInNewWindow: true, } // init var TITLE = 'OCL'; var RELOAD_IN_SECONDS = SETTINGS.reloadInSeconds; document.body.id = TITLE; document.title = TITLE; // zmenime favico setFavicon(); // najdeme link na posticku var posta = document.querySelector('.head .menu a[href="/msgbox.jsp"]'); if(!posta) { // pokud nenajdeme, tak je uzivatel odhlasen => konec return; } // je-li nova posta, zmenime title a favicon if(posta.innerHTML!='Vzkazník') { document.title = TITLE + ' - nová pošta'; setFavicon('mail'); // po otevreni posty zmenime zpatky posta.addEventListener('mouseup',function(e){ if(e.which == 3) return; // jen leve nebo stredni tlacitko document.title = TITLE; setFavicon() },false); } // pokud je ve strance #sysmsgBox, tak jsme nejspis hned po prihlaseni // a nasledny reload by chtel znovu odesilat POST data, proto reload takto // toto by melo byt az po kontrole posty, jinak se reload provede i po odhlaseni uzivatele if(document.getElementById("sysmsgBox")) { location = location.href; } // skryt nadpisy kategorii if(SETTINGS.hideCategories) { var headers = document.querySelectorAll('.main .main h3'); for(header of headers) { header.style.display = 'none'; } } // odkazy v zahlavi v novem okne if(SETTINGS.openLinksInNewWindow) { var links = document.querySelectorAll('.head a, .footer a'); for(link of links) { if(link.href.search(/javascript:|\?new=1/)==-1) { // krom logoutu a reloadu link.setAttribute('target','ocl'); } } } // odkazy na audirka var items = document.querySelectorAll('.main .item'); for(var item of items) { // odkazy (je buď jeden, nebo dva) var links = item.getElementsByTagName('a'); // auditko bez nazvu (12. komnata) if(links[0].innerHTML.search(/^\s*$/) != -1) links[0].innerHTML = '-- bez názvu --'; // kdyz klikneme na nazev, tak jako by to bylo na nove (= otevre se na nejstrasich z novych) if(links.length == 2) links[0].href = links[1].href; // odkazy otevirame v novem okne // a po kliknuti skryjeme cely div for(var link of links) { if(SETTINGS.openLinksInNewWindow) link.setAttribute('target','_blank'); link.addEventListener('mouseup', function(e) { if(e.which == 3) return; // jen leve nebo stredni tlacitko var div = findParentDiv(this); if(div) div.style.display = 'none'; }, false); } } function findParentDiv(node) { var div = node.parentNode; if(!div || (div.className.search(/item/) > -1)) return div; findParentDiv(div); } // pripravime si tlacitko s odpoctem var countDownButton = document.createElement('button'); with(countDownButton) { id = 'reload-button'; style = 'display: inline-block; margin-left: 10px'; innerHTML = 'Načtení za: ' + sec2str(RELOAD_IN_SECONDS); onclick = function() { clearInterval(interval); RELOAD_IN_SECONDS = 1; countDown(); } } // a umistime ho do okouni hlavicky var head = document.querySelector('.head'); if (head) { head.insertBefore(countDownButton,head.lastElementChild); } else { document.body.appendChild(countDownButton); } // zahajime odpocet var interval = setInterval(countDown, 1000); function countDown() { countDownButton.innerHTML = 'Načtení za: ' + sec2str(--RELOAD_IN_SECONDS); if(RELOAD_IN_SECONDS > 0) return; // zastavit odpocet a reload kdyz to dojde do nuly clearInterval(interval); location.reload(true); } function sec2str(nsec) { // var hours = Math.floor(nsec / 3600); var minutes = Math.floor(nsec / 60); var seconds = (nsec - minutes * 60); return minutes + ':' + ('0' + seconds).substr(-2); } // nastaveni ikony function setFavicon(what){ // okoun <link rel="shortcut icon" href="/static/201502020949/favicon.ico" type="image/x-icon"> var link = document.querySelector('link[rel~="icon"]'); if(!link) { link = document.createElement('link'); link.setAttribute('rel','icon'); document.head.appendChild(link); } link.setAttribute('id','favicon'); if(what=='mail') { // blikaci dopisni obalka link.type = "image/gif"; link.href = "data:image/gif;base64,R0lGODlhDAAIALIAAP8IAP///wAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFKAAHACwAAAAADAAIAAADFRi6vPAwqtcCtRZMrfF2UxVmkSQ2CQAh+QQFKAAHACwAAAAADAAIAAADFQi6vPEwqtcAtTZMrfF2UxVmkSQ2CQAh/ntUaGlzIGFuaW1hdGVkIEdJRiBmaWxlIHdhcyBjb25zdHJ1Y3RlZCB1c2luZyBVbGVhZCBHSUYgQW5pbWF0b3IsIHZpc2l0IHVzIGF0IGh0dHA6Ly93d3cudWxlYWQuY29tIHRvIGZpbmQgb3V0IG1vcmUuAVVTU1BDTVQAOw=="; } else { // defaultni ikona OCL link.type = "image/gif"; link.href = "data:image/gif;base64,R0lGODlhEAAQAKECAAAAAICAgP///////yH5BAEKAAIALAAAAAAQABAAAAImlI+pq+DvGIRhzVfbBTltbm0d8o3HByXByk6mRzGGKwt0za71UgAAOw=="; } } })();