您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
1. Główne obrazki znalezisk także linkują do celu, 2. Linki domyślnie otwierają się w tej samej karcie/oknie, 3. Wystarczy najechać by rozwijać spoilery, "Pokaż komentarze" itp.
// ==UserScript== // @name Wykop.pl: wygodniejsze myszkowanie // @namespace Violentmonkey Scripts // @match https://www.wykop.pl/* // @match https://wykop.pl/* // @grant none // @version 1.2.4 // @author Orlin // @license MIT // @description 1. Główne obrazki znalezisk także linkują do celu, 2. Linki domyślnie otwierają się w tej samej karcie/oknie, 3. Wystarczy najechać by rozwijać spoilery, "Pokaż komentarze" itp. // ==/UserScript== const WAITFORALL = 3000; function linkifyImages() // zarówno w znalezisku jak i w spisie znalezisk - dzięki temu np. łatwiej otwierać sobie środkowym przyciskiem myszy w osobnej karcie, w tle { let sekcje = document.querySelectorAll('section.link-block article'); for(let i=0; i<sekcje.length; ++i) { let linczek = sekcje[i].querySelector('header h1 a'); let obrazek = sekcje[i].querySelector('figure'); if(obrazek!=null && linczek!=null) { if(obrazek.getAttribute('alreadyLinkified')==null) // czy już olinkowany po mojemu? { if(obrazek.classList.contains('embed')) // odtwarzacze video niech nadal się embedują przy normalnym kliknięciu { obrazek.innerHTML = '<a onclick="return(false);" href="' + linczek.href + '">' + obrazek.innerHTML + '</a>'; } else { obrazek.innerHTML = '<a href="' + linczek.href + '">' + obrazek.innerHTML + '</a>'; } obrazek.setAttribute('alreadyLinkified', '1'); } } } // for() } function blank2self() // domyślnie otwieraj wszystkie linki w tej samej karcie/oknie po ich kliknięciu (jak chcę w innej, to klikam ŚPM albo LPM z wciśnietę klawiszem CTRL) { var linkz = document.querySelectorAll('a[target=_blank]'); for(let i=0; i<linkz.length; ++i) { linkz[i].setAttribute('target', '_self'); } } function addListeners() // wystarczy najechać kursorem myszy na przyciski "Pokaż spoiler", Pokaż więcej", "Pokaż komentarze", "Pokaż wszystkie treści powiązane", by je rozwinąć { // (document.querySelectorAll('footer button[class="target"]')).forEach(function(item){if(item.innerHTML.indexOf('Pokaż komentarze')>=0) item.click();}); let pokaKoment = document.querySelectorAll('footer button[class="target"]'); let pokaWiecej = document.querySelectorAll('.entry-content button[class="more"]'); let pokaSpoiler= document.querySelectorAll('section.content-spoiler button'); let pokaTresc = document.querySelectorAll('section.junk-content button'); let pokaNoweTresci = document.querySelectorAll('.new-entry button'); for(let i=0; i<pokaKoment.length; ++i) { if((pokaKoment[i].innerHTML.indexOf('Pokaż')>=0 || pokaKoment[i].innerHTML.indexOf('Zobacz')>=0)&& pokaKoment[i].getAttribute('al')==null) { pokaKoment[i].addEventListener("mouseover", function(){this.click();}, false); pokaKoment[i].setAttribute('al', '1'); // window.scroll(0, scrollPos); } } for(let i=0; i<pokaWiecej.length; ++i) { if(pokaWiecej[i].innerHTML.indexOf('Pokaż')>=0 && pokaWiecej[i].getAttribute('al')==null) { pokaWiecej[i].addEventListener("mouseover", function(){this.click();}, false); pokaWiecej[i].setAttribute('al', '1'); } } for(let i=0; i<pokaSpoiler.length; ++i) { if(pokaSpoiler[i].innerHTML.indexOf('Pokaż')>=0 && pokaSpoiler[i].getAttribute('al')==null) { if(pokaSpoiler[i].parentNode.parentNode.tagName == 'A') { pokaSpoiler[i].innerHTML += ' - link: ' + pokaSpoiler[i].parentNode.parentNode.href; } else { pokaSpoiler[i].addEventListener("mouseover", function(){this.click();}, false); } pokaSpoiler[i].setAttribute('al', '1'); } } for(let i=0; i<pokaTresc.length; ++i) { if(pokaTresc[i].innerHTML.indexOf('nowe')>=0 && pokaTresc[i].getAttribute('al')==null) { pokaTresc[i].addEventListener("mouseover", function(){this.click();}, false); pokaTresc[i].setAttribute('al', '1'); } } for(let i=0; i<pokaNoweTresci.length; ++i) { if(pokaNoweTresci[i].innerHTML.indexOf('nowe')>=0 && pokaNoweTresci[i].getAttribute('al')==null) { pokaNoweTresci[i].addEventListener("mouseover", function(){this.click();}, false); pokaNoweTresci[i].setAttribute('al', '1'); } } // setTimeout(function(){window.scroll(0, scrollPos);}, 4000); } var observeDOM = (function(){ var MutationObserver = window.MutationObserver || window.WebKitMutationObserver; return function( obj, callback ){ if( !obj || obj.nodeType !== 1 ) return; if( MutationObserver ){ var mutationObserver = new MutationObserver(callback) mutationObserver.observe( obj, { childList:true, subtree:true }) return mutationObserver } else if( window.addEventListener ){ obj.addEventListener('DOMNodeInserted', callback, false); obj.addEventListener('DOMNodeRemoved', callback, false); } } })(); /* window.addEventListener('load', function() { blank2self(); linkifyImages(); observeDOM(document.body, function(m){ addListeners(); }); }, false); window.addEventListener('DOMContentLoaded', function() { blank2self(); linkifyImages(); addListeners(); }, false); */ function addAllMyFuncs(wait) { setTimeout(function() { blank2self(); linkifyImages(); addListeners(); /* let next = document.querySelector('nav.new-pagination.hash li.next a'); let prev = document.querySelector('nav.new-pagination.hash li.prev a'); if(next) { next.addEventListener('click', function(){addAllMyFuncs(wait);}, false); } if(prev) { prev.addEventListener('click', function(){addAllMyFuncs(wait);}, false); } */ observeDOM(document.body, function(m){ addListeners(); blank2self(); linkifyImages(); }); }, wait); } addAllMyFuncs(WAITFORALL); document.querySelector('header').addEventListener("mouseover", function(e){ addAllMyFuncs(100); }, false); // gdyby z jakichś powodów nie zadziałało odpalenie funkcji, to najedź na górną belkę by wymusić wprowadzenie zmian /* // skrót klawiszowy CTRL + \ // odkomentować by aktywować document.addEventListener("keydown", function(e){ if (e.keyCode == '220') // backslash { if(e.ctrlKey) { addAllMyFuncs(100); } } }); */