mikrocontroller.net

Forum: Projekte & Code Übersicht über alle Dateianhänge in einem Thread


Autor: Matthias N. (nippey)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

da es mich stört, in Threads mit 100+ Beiträgen die aktuellste Version 
eines Projektes zu finden habe ich mir ein UserScript gebastelt, welches 
einen Thread durchscannt und alle Anhänge zu Beginn auflistet.
Das Script scannt bei aktivierter Seitenaufteilung nur die angezeigten 
Posts.

Ein Beispiel ist im Anhang zu sehen.

Seht es erst einmal als Beta-Version. Wenn es gefällt, werde ich es auf 
userscripts.org hochladen.
Das Script ist für Opera entwickelt und mit Firefox erfolgreich getestet 
worden.

Über Feedback freue ich mich jederzeit!

Autor: Matthias N. (nippey)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Direkt ein Fehler entdeckt, wenn es mehrere Anhänge pro Beitrag gibt.
Bittesehr.

Autor: jemand (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
scheint soweit zu gehen

Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nette Idee. Funktioniert auch mit Chrome.

Autor: Better (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke

Autor: Julian W. (julian-w) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Super Idee!!!
Gleich mal installiert :)

Autor: tescht (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie binde ich das in den FF ein?

Autor: Julian W. (julian-w) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Greasemonkey Add-On installieren:

https://addons.mozilla.org/de/firefox/addon/748/

Autor: Sebastian ... (zahlenfreak)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht könnte Andreas das ja direkt in die Forensoftware 
integrieren. Dann liese sich sicher auch das Problem mit den 
aufgeteilten Threads lösen.

Autor: tescht (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
tescht schrieb:
> Wie binde ich das in den FF ein?

Julian W. schrieb:
> Greasemonkey Add-On installieren

Und dann?
Ich hab das AddOn installiert, das Skript hinzugefügt, aber es klappt 
nicht (habe als ausführende Anwendung den FF angegeben und das das 
Skript auf mikrocontroller.net ausgefürht werden soll)

Autor: Thomas Sch. (doschi_)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Matthias N. schrieb:
> Über Feedback freue ich mich jederzeit!

Herzlichen Dank, das habe ich auch schon lange gesucht, gerade wenn 
man(n) in laenglichen Threads das letzte Update finden moechte.

Hast Du einen Tipp, wie ich die doppelte Anzeige wieder loswerde? (siehe 
Screenshot)

Danke!  Thomas

Autor: Matthias N. (nippey)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
zu andreas

Cool Crome auch ;)
Da Lohnt es sich doch, nicht die GM-Skriptfunktionen von Greasemonkey zu 
benutzen die überall gelobt werden ;)


zu Sebastian ...

Das wäre natürlich die Lösung No.1. ;)


zu tescht

Da ich selbst Opera-User bin, könnte sich eventuell jemand dem 
Greasemonkey Problem von tescht annehmen?
Meine FF-Schritte: FF installiert; GM installiert; Skript installiert; 
läuft.
Check mal, ob bei den aktiven Seiten im GM-Einstellungsfenster auch 
"http://www.mikrocontroller.net/topic/*" steht.


zu Tomas Sch.

Welchen Browser benutzt du denn?
Hast du das Skript zufällig 2x installiert? ;)


EDIT:
zu tescht:
Die Sicherheitsregeln von Opera verhinder eine Manipulation der Seite 
bei Nutzung des https:// Protokolls!
Schau mal ob du die Seite damit aufrufst, ich kenne leider nicht die 
Eigenheiten von FF...

Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Matthias N. schrieb:
> Die Sicherheitsregeln von Opera verhinder eine Manipulation der Seite
> bei Nutzung des https:// Protokolls!

Bei Chrome genauso, es funktioniert nur ohne HTTPS.

Autor: Jens (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
v.02 geht nicht mehr in Chrome !?

Autor: Nippey (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Primär für Opera entwickelt, läuft es hier auch weiterhin.
Tut mir leid, ich möchte Google ungern auf meinen Rechner lassen um das 
Problem zu prüfen.
Kannst du mir die Ausgabe der Fehlerkonsole hier hineinkopieren? Dann 
schau ich mal nach.

Autor: Jens (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe zufällig die Ursache entdeckt: es geht doch, aber nur, wenn ich 
eingeloggt bin.

Autor: Alexander Schmidt (esko) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
einfach einfügen:
// @include        https://www.mikrocontroller.net/topic/*

Autor: Nippey (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Muss man's bei Chrome exta einfügen?
Opera parst die US-Datei selbst und extrahiert die includes/excludes.
Aber gut zu wissen für die Nachwelt ^^

Autor: Vlad Tepesch (vlad_tepesch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sehr nette Idee!
Danke!

Autor: Alexander Schmidt (esko) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe das Skript an die leicht geänderte Webseite angepasst, damit es 
wieder funktioniert.
Änderungen:
* https Unterstützung
* Anpassung an das neue Layout der Webseite
* Leerzeichen entfernt, Einrückungen geändert

Autor: Matthias N. (nippey)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Alexander,

ich habe gerade deine Mail gesehen.
Danke für die Anpassungen !

Wenn ich mir das Skript heute so anschaue ist es auch stilistisch 
ziemlich altbacken. Ist ja immerhin schon drei Jahre her ;)

Zurzeit bin bin ich kaum am Rechner, daher freue ich mich über jede 
Mitarbeit und demnach bin ich für Open-Source Lizenzen offen!

Gruß
Matthias

Autor: Waldemar Heimann (vual)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Funktioniert bei euch dieses Script noch?

Zumindest bei mir (Mac OS, GChrome) funktioniert es nicht...
for (i=0;i<divs.length;i++)
    {
        try {    //Indicator for post with attachments
            if ( (divs[i].nodeName == "DIV")
                && (divs[i].childNodes[2].nodeType == 3)
                && (divs[i].childNodes[2].nodeValue.search(/Angeh.ngte Dateien:/) != -1) )
            {
                atts[count] = divs[i];
                count++;
            }
        } catch(e){}
    }

Ich kenne mich in dieser Sprache nicht aus, deshalb frage ich mal ob der 
PUNKT bei "Angehängte Dateien" so richtig ist (Wildcard), oder das 
"richtige" Zeichen durch eine andere Codierung verloren gegangen ist?

Es funktioniert trotzdem nicht (mit oder ohne Punkt)

Hoffe Ihr könnt helfen, es ist ein sehr hilfreiches Skript!

Gruß

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Waldemar Heimann schrieb:
> deshalb frage ich mal ob der
> PUNKT bei "Angehängte Dateien" so richtig ist (Wildcard),

Ist genau das, Wildcard für ein Zeichen.

Interessant ist aber, ob das bei UTF-8 so funktioniert, denn da belegt 
ein 'ä' mehr als ein Byte, wird also als zwei Zeichen codiert.

Probier mal .+ aus:
divs[i].childNodes[2].nodeValue.search(/Angeh.+ngte Dateien:/)

Autor: Waldemar Heimann (vual)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rufus Τ. Firefly schrieb:
> Waldemar Heimann schrieb:
>> deshalb frage ich mal ob der
>> PUNKT bei "Angehängte Dateien" so richtig ist (Wildcard),
>
> Ist genau das, Wildcard für ein Zeichen.
>
> Interessant ist aber, ob das bei UTF-8 so funktioniert, denn da belegt
> ein 'ä' mehr als ein Byte, wird also als zwei Zeichen codiert.
>
> Probier mal .+ aus:
>
> divs[i].childNodes[2].nodeValue.search(/Angeh.+ngte Dateien:/)
> 

ich debugge dieses Skript im Chrome mit window.alert() und es stimmt, es 
muss bei mir ein ".+" rein. Es werden jetzt Anhänge gefunden, aber die 
Liste nicht erstellt.

Das DevTools im GChrome schreibt einen Fehler:
    Uncaught TypeError: Cannot read property 'cloneNode' of null
zur Zeile:
var gotoLink = atts[i].parentNode.firstElementChild.firstElementChild.firstElementChild.cloneNode(true);    //Yep. It works. Check the DOM :D

danach bricht das Skript ab...


EDIT:
Wenn ich die Zeile auskommentiere dann funktioniert das Skript, 
allerdings ohne Link zum Post


Gibts dafür eine Lösung?

PS. Wirklich geniales Skript, nach ein Paar Tests möchte ich nicht mehr 
ohne :-) Danke

: Bearbeitet durch User
Autor: Alexander Schmidt (esko) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
2 lesenswert
nicht lesenswert
Hier die neue Version.

Änderung: * UTF-8 wird behandelt, wie von Rufus vorgeschlagen
          * Anpassung an die leicht geänderte Webseite (Goto Post)
          * Autor und Datum werden nun in einem Schritt kopiert

Autor: Waldemar Heimann (vual)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Top! Danke!

Autor: Alexander Schmidt (esko) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier die neue Version.

Änderung: * Anpassung an die leicht geänderte Webseite

Vielleicht kann jemand die Ausgabe etwas verschönern, so dass sie 
aussieht, wie im zweiten Screenshot im ersten Beitrag?

: Bearbeitet durch User
Autor: Waldemar Heimann (vual)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Funktioniert mit meinem Chrome 1A! Danke

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.