|
|
|
|
Problem:
hideThreads blendet irgendwie Threads aus die man nicht eingetragen hat.
Beispiel: Ich gehe ins Webdesign&Coding, habe die Forensatzungund den Schreiberling Thread eingetragen, aber er haut auch den dortigen "Das Webdesig&Coding"Thread raus.
kA warum...
|
|
|
|
|
|
|
Problem geloest, Script angepasst und verbessert.
|
|
|
|
|
|
|
| Zitat von psyched
TID ist natuerlich am meisten Arbeit.
Ich koennte auch einfach die gesamte URL nehmen und dann die TID rausfiltern.
Ich find das sogar noch am besten.
| |
Ich kann mir das Script jetzt gerade nicht anschauen, weil die Seite down ist(?)
Aber warum nimmst du nicht einfach eine eingebene TID, hängst die an http://forum.mods.de/bb/thread.php?TID= dran und vergleichst das mit dem Link?
|
|
|
|
|
|
|
Weil ich finde dass es einfacher ist, den Link einfach aus der Seite zu kopieren und oben einzufuegen.
Und weil das Script auch so ganz gut funktioniert :x
|
PHP: |
// hideThreads 1.0
// by psyched 07
//
// ==UserScript==
// @name hideThreads
// @namespace [URL]http://userscripts.org/users/33515[/URL];scripts
// @description Blendet einzelne Threads aus
// @include [URL]http://forum.mods.de/bb/board.php[/URL]*
// @exclude [URL]http://forum.mods.de/bb/[/URL](index|thread|suche).php
// ==/UserScript==
function threads (e) {
GM_setValue("threads", (prompt("ThreadURLs eingeben, per ';' trennen.",GM_getValue("threads") )));
}
GM_registerMenuCommand("Threads Ausblenden", threads);
if (GM_getValue("threads") != "" && GM_getValue("threads") != "undefined") {
var threads = GM_getValue("threads");
var threadarray = threads.split(";");
var i=0;
while (i < threadarray.length) {
var tids = threadarray[i].substr(39, 50);
var re = new RegExp("\\?TID="+tids+"$", "gi");
var a = document.getElementsByTagName("a");
for (var k=0; k<a.length; k++) {
//if (a[k].href.indexOf(tids) > -1 && a[i].parentNode.nodeName.toLowerCase()=="td") {
if (re.test(a[k].href) != false && a[i].parentNode.nodeName.toLowerCase()=="td") {
a[k].parentNode.parentNode.parentNode.removeChild(a[k].parentNode.parentNode);
//var leiste = a[k].parentNode.previousSibling.previousSibling.parentNode;
//leiste.parentNode.removeChild(leiste);
}
}
i++;
}
}
|
|
|
|
|
|
|
|
|
Auf Dauer sehe ich v.a. ein Problem mit dem Script:
Ich bin jetzt schon zu faul, z.B. den neuen Hiphopthread extra einzutragen.
Ein automatisches System ist sicher sehr kompliziert / nicht zu machen.
Deswegen wollt ich fragen, ob man einen Eintrag im Kontextmenü des Threadlinks machen könnte. ("Diesen Thread ausblenden")
Das wäre extrem hilfreich.
|
|
|
|
|
|
|
Nein, sowas geht per Greasemonkey leider nicht, weder Kontextmenuerweiterung noch automatisch noch sonstwas.
Greasemonkey ist fast ausschliesslich reines Javascript, mit dem sich lediglich der ausgelieferte Quelltext der Seite bearbeiten laesst.
Manipulationen am FF sind nicht moeglich.
Ich hab darueber nachgedacht neben jeden Thread ein kleines [x] anzubringen, mit dem der Thread dann gleich ausgeblendet wird und ausgeblendet bleibt, aber das is mir zu viel Arbeit.
Und wenn du zu faul bist, 2 Klicks mehr zu machen, dann kann ich dir auch nicht helfen.
|
|
|
|
|
|
|
Das OpenSmilies spinnt bei mir: Wenn ich es aktiviert habe, bleibt bei den Post-Icons immer "Kein Icon" ausgewählt, egal, welches andere Icon ich sonst noch aktiviere. Abhilfe?
|
|
|
|
|
|
|
Hi, hat jemand eine gute Idee wie man die 1600 Seiten des Gehirnsalats schrumpfen kann?
Ich haette am liebsten die letzten 5 Seiten angezeigt und die ersten 11, also muss er sich den &page= vom letzten a-Tag innerhalb des font Tags holen und die anderen a-Tags entsprechend ausblenden.
Nur die Seiten ausblenden wäre einfach, aber ich will das Script nicht jeden Tag anpassen müssen.
Auf jeden Fall hab ich keine Ahnung wie man sowas scripten sollte.
Wenn ich das font-Tag auswähle, geht das noch, aber sobald ich irgendwas von wegen lastChild mache krieg ich Fehlermeldungen.
Wenn jemand nur eine kleine Idee hat wäre das fein.
|
|
|
|
|
|
|
Ich hab keine Ahnung vom Scripten, aber ich hatte da grad ne Idee. Wahrscheinlich funktionierts aber nich
Was, wenn du das Script die Seitenanzahl auslesen lässt, und dann programmierst, dass es schaut, welche Zahlen die letzten Seiten haben. Anhand dieser sich ständig ändernden Zahl könntest du dann aber die Links ausblenden lassen.
Bsp.:
Thread hat 100 Seiten. Dann nimmt das Script 100-5 und blendet somit Seiten 95-100 aus, indem es sich deren Links besorgt. Die Seiten 1-11 kannst du ja dann stehen lassen.
Wenns dann ein paar Tage später 106 Seiten sind, muss das Script von der 106 wieder 5 wegnehmen und stehen lassen. Im Prinzip liest du erst den Seitentext aus, dann die dazugehörigen Links.
Somit werden die ersten 11 und die letzten 5 Seiten angezeigt.
Geht das nich?
|
|
|
|
|
|
|
Doch, so hab ichs mir ja vorgestellt.
Das Problem ist aber dass die Links zu den Seiten innerhalb von einem <font> Tag ohne irgendwelche sinnvollen Attribute liegen, und mit den üblichen Befehlen, mit denen man den Inhalt solcher Tags auslesen kann komm ich überhaupt nicht weiter :/
|
|
|
|
|
|
|
lastChild und firstChild kannst du oft vergessen, vor allem hier im Forum, da schon Leerzeichen zwischen HTML-Tags als (Text)-Node gelten.
|
|
|
|
|
|
|
Ich würde die Font-Tags aus td durch 'ne For-In laufen lassen und dann die Childnode vom jeweiligen font-tag per regex auf [Zahl] überprüfen, die Zahl strippen, schauen welche Zahl es ist, die erste speichern, die letzte speichern (jeweils immer überschreiben). Nachhaltig, von der letzten Zahl an die letzten X Links generieren und das ganze ersetzen.
Mal als Pseudo-Code.
|
Code: |
var thread = aktuelleNodeVonTdDesThreads;
var fontt = thread.getElementsByTagName("font");
var stripped = 0;
var neueAnzeige = "";
var merker = "";
var abstandHinten = 5; //Wieviele der letzten Seiten werden angezeigt
var abstandVorne = 11; //Wieviele der ersten Seiten werden angezeigt
for (childs in fontt) {
if childs.firstChild == regexFuer([Zahl]){
stripped = /*Zahl aus den Brackets strippen und abspeichern;*/
if (stripped >= 1 || stripped <= abstandVorne){
neueAnzeige += childs;
}else {
merker = childs;
}
}
for (var i = 1; i < abstandHinten; i++) {
/*Die letzten 'Abstand' Links anhand von 'merker', was ja unsere letzte Seite ist, generieren und überprüfen ob sie größer als 11 sind. Wird in 'letzteSeiten' gespeichert*/
}
neueAnzeige += letzteSeiten;
/*Alle Childnodes die Font-Tags sind löschen*/
/*neueAnzeige als Child an 'thread' appenden */
}
}
|
|
|
[Dieser Beitrag wurde 3 mal editiert; zum letzten Mal von DaRkJeDi am 01.10.2007 9:56]
|
|
|
|
|
|
Auch hier gibts das Problem dass man sich nicht wirklich zum letzten Seitenlink durchangeln kann.
Ich glaub dafür gibts wirklich keine Möglichkeit...
|
|
|
|
|
|
|
Ist das Smilie-klick-Script an FF 2.0.0.7 angepasst bzw. an Änderungen im Forum? Produziert bei mir nur Fehler
|
|
|
|
|
|
|
Wann gibt es ein FF-Plugin das die Sammelthreads ausblendet?
|
|
|
|
|
|
|
Ich hab mal nen Request:
Kann jemand ein Greasemonkey Script schreiben, welches auf http://usemycomputer.com/indeximages/ dieser Galerie folgendermaßen funktioniert:
Entweder es stellt die Bilder in einer an den Bildschirm angepassten Größe da (also bei den Großansichten), am besten so wie bei Upload.
Oder es verlinkt die Thumbnails gleich zum Bild und nicht zu der anzeigeseite. (Werbung wird mir eh nicht angezeigt, dem betreiber schadet es also nicht.)
PM wenn jemand Lust hat
|
|
|
|
|
|
|
| Zitat von psyched
Auch hier gibts das Problem dass man sich nicht wirklich zum letzten Seitenlink durchangeln kann.
Ich glaub dafür gibts wirklich keine Möglichkeit...
| |
Hm, versteh ich nicht, wo wird denn diese Möglichkeit blockiert? Mit GetElementsByTagName(font) sollte man doch alle Font-Tags bekommen, also auch zwangsweise den letzten Seitenlink, oder?
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von DaRkJeDi am 01.10.2007 15:19]
|
|
|
|
|
|
|
|
|
|
Kann man eigentlich was dagegen unternehmen dass Firefox bei aktiviertem Greasemonkey und nach fertigem Laden der Seite einige Sekunden lang nicht reagiert? Oder sollte das überhaupt nicht passieren? Hab nen C2D 2,16GHz, 2GB Ram und Windows XP. So ein "umrechnen" der Seite sollte doch schneller von statten gehen oder nicht?
|
|
|
|
|
|
|
| Zitat von DaRkJeDi
| Zitat von psyched
Auch hier gibts das Problem dass man sich nicht wirklich zum letzten Seitenlink durchangeln kann.
Ich glaub dafür gibts wirklich keine Möglichkeit...
| |
Hm, versteh ich nicht, wo wird denn diese Möglichkeit blockiert? Mit GetElementsByTagName(font) sollte man doch alle Font-Tags bekommen, also auch zwangsweise den letzten Seitenlink, oder?
| |
Der letzte Seitenlink liegt zwar innerhalb eines font-Tags, ist aber an sich ein a-Tag.
Meine Güte ist dieses Forum beschissen gecodet.
|
|
|
|
|
|
|
So, ich hab das Script jetzt soweit dass er sich die Nummer der letzten Seite raussucht.
Hab momentan keine Zeit mehr das weiterzumachen, eventuell will sich einer von euch dran versuchen, ist ab jetzt recht einfach.
http://userscripts.org/scripts/review/12696
Man muss nur überprüfen ob die Kindelemente des font Tags als innerHTMl eine Nummer haben die kleiner als die letzte Zahl ist, dann halt noch anpassen wieviele Seiten man angezeigt haben will und das wars eigentlich schon.
Würd mich freun wenn das jemand fertigstellt.
Danke.
|
|
|
|
|
|
|
|
|
|
|
Das neuste:
fixLinks - Öffnet die Profile als richtige Links.
Keine Sorgen mehr wenn man im Profil auf einen Link klickt.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
nix, geht auch so.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von psyched am 14.10.2007 16:34]
|
|
|
|
|
|
Den : muss man nicht escapen.
|
|
|
|
|
|
|
Man kann.
Ich habs immer escaped, ka warum.
|
|
|
|
|
|
|
Danke. Was macht das Script genau?
|
|
|
|
|
|
Thema: Greasemonkey IV ( Regeln ausblenden und viel mehr... ) |