Z lenistwa...

28 sierpnia, 2007

Kolega w nocy zaczął mi się użalać, że Wykop ma pewną denerwującą cechę - gdy ktoś nie jest zalogowany to po kliknięciu na "wykop" przenosi do strony logowania, a po zalogowaniu nie przenosi do poprzedniego linka tylko na stronę główną. Nie ukrywam sprawa dość denerwująca i mnie. Dlatego rozwiązałem problem w... 12 linijkach UserJS. Użycie skryptu jest wręcz banalne - wystarczy po instalacji wyedytować dwie linijki jego kodu:

var login = '';
var haslo = '';

W tych dwóch linijkach podajemy dane naszego konta. Co potem ? W wypadku gdy skrypt wykryje obecność linka "Zaloguj" na jakiejś podstronie wykopu ów link zyskuje nową funkcjonalność - po jego kliknięciu zostajemy zalogowani, a następnie strona na której jesteśmy zostaje odświeżona. W ten sposób nie musimy wklepywać naszych danych do formularza i w ogóle go oglądać ;)

Wiem - to szczyt lenistwa, ale po co się męczyć i tracić cenny czas ;)

EDIT: żeby nie narzekano - wersja dla Opery ;) :

// ==UserScript== 
// @name Wykop one-click login 
// @description Login with one click 
// @author Dziudek 
// @version 0.1 
// @include http://*wykop.pl* 
// ==/UserScript== 

window.addEventListener('DOMContentLoaded', function() { 
// podaj swoje dane 
var login = ''; 
var haslo = ''; 
var d=document.getElementById("navlog").childNodes[3].childNodes[0]; 
if(d.href == "http://www.wykop.pl/zaloguj"){ 
d.addEventListener("click",function(e){ 
e.preventDefault(); 
var x = new XMLHttpRequest(); 
if (!x) alert('Błąd tworzenia XHR'); x.onreadystatechange = function(){
if(x.readyState == 4)(x.status == 200)?window.location=window.location:alert('Błąd zapytania');}; 
x.open('POST','http://www.wykop.pl/zaloguj.php', true);
x.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); 
x.send('username='+login+'&password='+haslo+'&remember_me=remember_me')},false);} 
}, false);

EDIT2: niektórzy słusznie zauważyli, że skrypt nie trzyma cookies i po każdym zamknięciu przeglądarki trzeba się logować - poprawiłem już chyba ten błąd poprzez dodanie kodu: +'&remember_me=remember_me' w zmiennych POST - teraz już wszystko w obu wersjach powinno być OK ;)

Wyczekiwałem blacklisty na Wykopie tyle czasu, a gdy wreszcie ją oddano do użytku to się zawiodłem - liczyłem na coś więcej niż ukrywanie linków od wybranych osób (nawet siebie samego mogę dodać - taki dodatkowy bajer). Ponieważ twórcy Wykopu nie mogą się zebrać i napisać czegoś bardziej rozbudowanego sam to zrobiłem. Zapewne pamiętacie Wykop Spam Cleaner 0.1, który działał w oparciu o odpowiedni obiekt JS. Dziś prezentuję Wam dwie nowe wersje tego skryptu - wersję 0.2, która jest kontynuacją wersji 0.1 z kilkoma zmianami oraz wersję 0.3, która posiada interfejs - zatem jest to wersja dla osób, których ręczne modyfikowanie skryptu nie fascynuje i wolną korzystać z metody "kliknij tu, tam i gotowe" :)

Opis zacznę od wersji 0.2 bo jest trochę bardziej skomplikowana w użytkowaniu.

Czytaj dalej...

Generalnie myślę, że nie mam jakichś restrykcyjnych reguł w tytułowym UserJS ustawionych, a i tak na wykopalisku zobaczyłem takie coś:

Free Image Hosting at www.ImageShack.us

No a linków jest 25 na każdej stronie więc... ;)

Jakby ktoś chciał to mój obiekt userR prezentuję poniżej :

Czytaj dalej...

Wykop Spam Cleaner

08 lipca, 2007

Ostatnio pisałem co sądzę o tym co się dzieje na Wykopie. Ponieważ działa to na mnie strasznie irytująco postanowiłem działać. Stworzyłem prosty UserJS - Wykop Spam Cleaner (v.0.1 beta), który pozwala pozbyć się badziewia z Wykopu. Na wstępie muszę powiedzieć, że skrypt działa tylko na Firefoksie z rozszerzeniem Greasemonkey i może nie jest userfriendly, ale za to ma myślę spore możliwości jak na swój rozmiar (~2kB).

Co umożliwia ten skrypt ? Pozwala na ukrycie wpisów ze stron Wykopu według podanych ustawień. Możemy tworzyć reguły zarówno do usuwania wpisów użytkowników jak i reguły do usuwania określonych linków. Samo "usuwanie" może działać w trzech trybach - rzeczywiste usunięcie danego wpisu z DOM, dodanie ustalonego opacity do danego wpisu i wreszcie dodanie określonego obramowania do danego wpisu. Każdy niechciany link/użytkownik ma indywidualne ustawienia typu usuwania/ukrywania i parametrów z tym związanych.

Dodatkowo skrypt w pasku nawigacji umieszcza informację o ilości usuniętych/ukrytych na danej stronie Wykopu linków.

Czytaj dalej...