staging.inyokaproject.org

Greasemonkey-Script zum Ausblenden nervender Threads

Status: Gelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

dAnjou

Avatar von dAnjou

Anmeldungsdatum:
8. Oktober 2007

Beiträge: 872

Problem: Man hat in geistiger Verwirrtheit in einen Thread gepostet, den man eigentlich nie gesehen haben will. Leider "stirbt" nun dieser Thread nicht, sondern taucht immer wieder ganz oben in den Eigenen Beiträgen auf. Das nervt (bestimmt nicht nur mich).

Lösung: Ich habe ein Greasemonkey-Script (ok, besser gesagt, den Ansatz eines Scripts) geschrieben, das unerwünschte Threads in den Eigenen Beiträgen ausblendet.

Hier ist es (oder auch im Anhang):

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// ==UserScript==
// @name          UU-Ignore
// @description   ignore threads on http://forum.ubuntuusers.de/egosearch/
// @include       http://forum.ubuntuusers.de/egosearch/*
// ==/UserScript==

window.addEventListener("load", function(e) {

  var rows = document.getElementsByTagName("tr");

  if (!rows.length) return;
  for (var i = 0; i < rows.length; i++) {
    var col = rows[i].getElementsByTagName("td")[1];
    if(col) {
      if(col.getAttribute("class") == "topic") {
        var p = col.getElementsByTagName("p")[0];
        if(p) {
          var a = p.getElementsByTagName("a")[0];
          if(a) {
            if(a.getAttribute("href") == "http://forum.ubuntuusers.de/topic/was-nervt-an-windows-am-meisten/") {
              rows[i].setAttribute("style", "display:none");
            }
            if(a.getAttribute("href") == "http://forum.ubuntuusers.de/topic/erwartungen-an-ubuntu-linux-wurden-nicht-erfu/") {
              rows[i].setAttribute("style", "display:none");
            }
          }
        }
      }
    }

  }

}, false);

Unzulänglichkeiten:

  • Es ist Handarbeit erforderlich. Man muss die Threads anhand der Links selbst eintragen, was zudem noch sehr unschön vonstattengeht.

  • Überhaupt ist das Script seeeeeeeeehr zerbrechlich. Es könnten also merkwürdige Dinge passieren (besonders dann, wenn der Code von Inyoka geändert wird).

Ich wünsche entspannteres Surfen 😇

PS: Sollte es begeisterte Scriptkiddies unter euch geben, so scheut euch nicht, das Script zu verbessern. Ich werde es nicht weiterentwickeln.

uu-ignore.user.js (1.0 KiB)
Download uu-ignore.user.js

dAnjou

(Themenstarter)
Avatar von dAnjou

Anmeldungsdatum:
8. Oktober 2007

Beiträge: 872

dAnjou schrieb:

Ich werde es nicht weiterentwickeln.

Naja, hab ich jetzt gezwungenermaßen doch getan, weil ich auf Google Chrome umgestiegen bin und das Script oben nicht mehr funktionierte.

Hier ist jetzt das neue ... ganz neu mit jQuery. Funktioniert übrigens auch im Firefox. EDIT (15.08.2011 15:34): Oh, und hat auch eine externe Projektseite: http://code.google.com/p/uu-ignore/

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
// ==UserScript==
// @name          UU-Ignore
// @description   ignore threads on http://forum.ubuntuusers.de/egosearch/
// @include       http://forum.ubuntuusers.de/egosearch/*
// @match         http://forum.ubuntuusers.de/egosearch/*
// ==/UserScript==

// a function that loads jQuery and calls a callback function when jQuery has finished loading
function addJQuery(callback) {
    var script = document.createElement("script");
    script.setAttribute("src", "http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js");
    script.addEventListener('load', function() {
        var script = document.createElement("script");
        script.textContent = "(" + callback.toString() + ")();";
        document.body.appendChild(script);
    }, false);
    document.body.appendChild(script);
}

// the guts of this userscript
function main() {
    $(".topic_title").each(function(){
        $(this).children("a[href='http://forum.ubuntuusers.de/topic/erwartungen-an-ubuntu-linux-wurden-nicht-erfu/']").closest("tr").hide();
        $(this).children("a[href='http://forum.ubuntuusers.de/topic/der-avatar-ueber-mir-dauem/']").closest("tr").hide();
        $(this).children("a[href='http://forum.ubuntuusers.de/topic/die-signatur-ueber-mir/']").closest("tr").hide();
        $(this).children("a[href='http://forum.ubuntuusers.de/topic/der-laengste-thread-der-welt-dltdw/']").closest("tr").hide();
        $(this).children("a[href='http://forum.ubuntuusers.de/topic/woerter-aendern/']").closest("tr").hide();
        $(this).children("a[href='http://forum.ubuntuusers.de/topic/erwartungen-an-ubuntu-linux-wurden-nicht-erfu/']").closest("tr").hide();
        $(this).children("a[href='http://forum.ubuntuusers.de/topic/was-nervt-an-windows-am-meisten/']").closest("tr").hide();
        // $(this).children("a[href='http://forum.ubuntuusers.de/topic/erwartungen-an-ubuntu-linux-wurden-nicht-erfu/']").closest("tr").hide();
    });
}

// load jQuery and execute the main function
addJQuery(main);
uu-ignore.user.js (1.9 KiB)
Download uu-ignore.user.js

dAnjou

(Themenstarter)
Avatar von dAnjou

Anmeldungsdatum:
8. Oktober 2007

Beiträge: 872

Das Ding ist jetzt eine Chrom(ium|e)-Erweiterung und hat sogar eine Optionen-Seite, wo man bequem die URLs der Threads eintragen kann.

http://code.google.com/p/uu-ignore/downloads/

Antworten |