Loesung fuer die, die alle eingestellten Bilder auf einmal sehen moechten
Loesung fuer die, die alle eingestellten Bilder auf einmal sehen moechten - #1
Das unten gepostete Tampermonkey script fuegt einen Button in den ersten Post eines Threads ein. Wird dieser geklickt, durchforstet das Script saemtliche Seiten des Threads und fuegt alle gefundenen Bilder in den ersten Post ein:
Alle Veraenderungen sind fluechtig und nur auf dem lokalen Rechner desjenigen zu sehen, der das Script bei sich ausfuehrt. Es gibt absolut KEINE Veraenderungen am Quellcode von WahreTabelle oder dem geposteten Inhalt.
Ich persoenlich denke daher nicht, dass es zu rechtlichen Problemen kommen sollte. Wenn von den Betreibern gewuenscht, koennen sie den Quellcode (also diesen Post) natuerlich loeschen, aber nichts kann mich davon abhalten diese kleine Erweiterung zu verwenden. Stelle sie auch gern jedem zur Verfuegung, der mich darauf anspricht.
Ein paar Anmerkungen:
- das ist mein erster Versuch mit JavaScript und Tampermonkey
- das Ganze ist ohnehin als Beta anzusehen
- leider ist der HTML Code von WahreTabelle nicht optimal strukturiert fuer dieses Vorhaben. Etwaige kleine Aenderungen am Layout koennten dafuer sorgen, dass das Script nicht mehr funktioniert und angepasst werden muss. Eventuell reicht auch schon eine abweichende Bildschirmaufloesung. Wird sich zeigen
- ich habe es nur unter Chrome mit der Tampermonkey Erweiterung getestet, kann also nicht sagen, ob es unter Firefox/Greasemonkey funkioniert
Installation:
- In Chrome die Tampermonkey Erweiterung installieren
- Tampermonkey Dashboard oeffnen und auf das kleine "+' klicken
- Quellcode per Copy&Paste einfuegen (vorhandenen Rumpf-Code ueberschreiben)
Wuerde mich ueber Rueckmeldungen freuen!
Nach den Sternchen beginnt der Code:
******************************************************
// ==UserScript==
// @name WahreTabelle: Alle Bilder auf der ersten Seite
// @namespace http://tampermonkey.net/
// @version 0.1
// @description Lade alle Seiten des Threads und durchforste sie nach eingestellten Bildern. Dann fuege alle gefundenen Bilder in den ersten Post ein
// @author mahlzeit
// @match https://www.wahretabelle.de/forum/*
// @grant GM.xmlHttpRequest
// ==/UserScript==
var pageCount = 0;
var allPics = [];
var title = false;
function callback(response){
//this function is called once a subsequent page has been loaded
//move the response into a new document and process it
var newdoc = document.implementation.createHTMLDocument("");
newdoc.documentElement.innerHTML = response.responseText;
process(newdoc);
}
function getNextPage(pdoc){
//check that the "next" url is different from the current page, so that we have a stop condition
if(pdoc.getElementsByClassName('next')[0].getElementsByTagName('a')[0].href != pdoc.getElementsByClassName('page selected')[0].getElementsByTagName('a')[0].href)
{
//request the "next" page and ask for function "callback" to be called once it's loaded
var newdoc = GM.xmlHttpRequest({
method: "GET",
url: pdoc.getElementsByClassName('next')[0].getElementsByTagName('a')[0].href,
onload:callback
});
}
}
function process(pdoc){
pageCount++;
var picarray = [];
//get all posts. Note: class name "nine columns p5 text-forum-box" is probably kind of shaky
var posts = pdoc.getElementsByClassName("nine columns p5 text-forum-box");
//loop through posts and search for images
for(i=0;i<posts.length; i++){
var pics = posts.getElementsByTagName("img");
for(j=0;j,j<pics.length;j++){
// check if the same image has already been stored in the array so that we avoid double postings...like from quotes...and also ignore smileys and stuff (loaded from wahretabelle.de)
if(!allPics.includes(pics[j].src) && !pics[j].src.includes('wahretabelle.de')){
picarray.push(pics[j].src);
allPics.push(pics[j].src);
}
}
}
//get all the posts from page 1. We'll need this because we want to inject the images into Post #1, which is on page 1
var postsPage1 = document.getElementsByClassName("nine columns p5 text-forum-box");
if(!title && picarray.length>0){
//little disclaimer on top
postsPage1[0].innerHTML = postsPage1[0].innerHTML + '<br><b>Die folgenden Bilder stammen nicht aus dem Ursprungspost, sondern sind eine Sammlung aller eingestellten Bilder dieses Threads</b><br>';
title = true;
}
//process if any pictures were found on the current page
if(picarray.length > 0){
postsPage1[0].innerHTML = postsPage1[0].innerHTML + '<br><br><br><b>Bilder von Seite ' + pageCount + ':</b><br>';
//add all images
for(i=0;i<picarray.length;i++){
postsPage1[0].innerHTML = postsPage1[0].innerHTML + '<br><img src="' + picarray + '">';
}
}
//process next page
var nextPage = getNextPage(pdoc);
}
//check if we are seeing a page with the first post
if(document.getElementById('main').innerHTML.includes('#1</a>')){
// 1. Create the button
var button = document.createElement("button");
button.innerHTML = "Lade alle Bilder des Threads";
// 2. Append somewhere
var body = document.getElementsByClassName("nine columns p5 text-forum-box")[0];
//var body = document.getElementsByTagName("body")[0];
body.appendChild(button);
// 3. Add event handler
button.addEventListener ("click", function() {
//disable button
button.disabled = true;
//process current page
process(document);
});
}
Du wuerdest gern alle Bilder einer Diskussion auf einmal sehen? Dann lies den folgenden Beitrag im WahreTabelle Forum: https://www.wahretabelle.de/forum/1/1/2159
Loesung fuer die, die alle eingestellten Bilder auf einmal sehen moechten - #2
Zitat von mahlzeit
Ich habe mir mal was gebastelt und vielleicht hat ja der eine oder andere auch Interesse, insbesondere das @kt .
Vielen Dank für diese Idee. Ich leite sie mal an die @technik weiter.
Inwieweit das umsetzbar ist (auch in rechtlicher Hinsicht), kann ich nicht beurteilen.
www.dkms.de - lasst Euch registrieren
Loesung fuer die, die alle eingestellten Bilder auf einmal sehen moechten - #3
Funktioniert fuer mich bis jetzt ganz gut.
Du wuerdest gern alle Bilder einer Diskussion auf einmal sehen? Dann lies den folgenden Beitrag im WahreTabelle Forum: https://www.wahretabelle.de/forum/1/1/2159
Loesung fuer die, die alle eingestellten Bilder auf einmal sehen moechten - #4
Zitat von mahlzeit
Habe mich evtl nicht ganz klar ausgedrueckt. Fuer die Loesung muss das Technik Team gar nichts tun. Wer sie verwenden will, muss sich die Tampermonkey Erweiterung fuer Google Chrome installieren und das Script dort hineinkopieren. Auf dem lokalen Rechner laeuft dann ein bisschen Logik, dass die Bilder zusammensucht.
Funktioniert fuer mich bis jetzt ganz gut.
Ah OK - ich kenne mich in diesem Bereich ganz und gar nicht aus
www.dkms.de - lasst Euch registrieren
Loesung fuer die, die alle eingestellten Bilder auf einmal sehen moechten - #5
Leider funktioniert es bei mir noch nicht. Der Button wird angezeigt, bei einem Klick darauf passiert allerdings nichts mehr.
Loesung fuer die, die alle eingestellten Bilder auf einmal sehen moechten - #6
Vielleicht kannst du mir ein paar Informationen zukommen lassen:
- Nutzt du Chrome+Tampermonkey oder Firefox+Greasemonkey?
- Kannst du mir den Seitenquelltext des Threads schicken? Muss mal schauen, ob das Layout bei dir anders ist und daher die Posts oder der Link zur naechsten Seite nicht richtig erkannt wird. Gerne auch als PN oder per pastebin.com
Du wuerdest gern alle Bilder einer Diskussion auf einmal sehen? Dann lies den folgenden Beitrag im WahreTabelle Forum: https://www.wahretabelle.de/forum/1/1/2159
Loesung fuer die, die alle eingestellten Bilder auf einmal sehen moechten - #7
Du wuerdest gern alle Bilder einer Diskussion auf einmal sehen? Dann lies den folgenden Beitrag im WahreTabelle Forum: https://www.wahretabelle.de/forum/1/1/2159
Loesung fuer die, die alle eingestellten Bilder auf einmal sehen moechten - #8
Zitat von mahlzeit
Aktuelle Version:
https://pastebin.com/PVfAwWCY
Danke für das Tool. Aber kann man das vielleicht irgendwie so abändern, das man die Bildern immer am Anfang einer jeden Seite hat.
Also wenn ein Thema mehrere Seiten hat, jeweils immer da auf den Anfang einer Seite?
Kämpfen und Siegen! #Wehrle Raus! #Adrion Raus! #Raus mit Claus!!!!!!!!!!! #FCFairPlay Raus!
Loesung fuer die, die alle eingestellten Bilder auf einmal sehen moechten - #9
Loesung fuer die, die alle eingestellten Bilder auf einmal sehen moechten - #10
Du wuerdest gern alle Bilder einer Diskussion auf einmal sehen? Dann lies den folgenden Beitrag im WahreTabelle Forum: https://www.wahretabelle.de/forum/1/1/2159
Loesung fuer die, die alle eingestellten Bilder auf einmal sehen moechten - #11
Neue Version (0.3):
https://pastebin.com/raw/djFBttQp
Changelog:
- Fix: Zeige keine Smileys und Voting Buttons (nur Firefox betroffen)
- Feature: Funktion steht nun im ersten Post JEDER Seite zur Verfuegung
- Feature: Automatische Updates direkt aus Chrome/Tampermonkey. (Aktuelle Greasemonkey Version unterstuetzt derzeit keine User-Script Updates)
Du wuerdest gern alle Bilder einer Diskussion auf einmal sehen? Dann lies den folgenden Beitrag im WahreTabelle Forum: https://www.wahretabelle.de/forum/1/1/2159
Loesung fuer die, die alle eingestellten Bilder auf einmal sehen moechten - #12
Du wuerdest gern alle Bilder einer Diskussion auf einmal sehen? Dann lies den folgenden Beitrag im WahreTabelle Forum: https://www.wahretabelle.de/forum/1/1/2159
Loesung fuer die, die alle eingestellten Bilder auf einmal sehen moechten - #13
Ja also bislang ist mir das Beschriebene nicht nochmal aufgefallen.
Bitte beachten: Dieser Beitrag gibt meine subjektive Meinung wieder!
Loesung fuer die, die alle eingestellten Bilder auf einmal sehen moechten - #14
Zitat von mahlzeit
Funktioniert es jetzt fuer euch wie gewuenscht?
Bis jetzt ist es so wie davor auch.
Kämpfen und Siegen! #Wehrle Raus! #Adrion Raus! #Raus mit Claus!!!!!!!!!!! #FCFairPlay Raus!
Loesung fuer die, die alle eingestellten Bilder auf einmal sehen moechten - #15
Loesung fuer die, die alle eingestellten Bilder auf einmal sehen moechten - #16
Zitat von creativeZitat von mahlzeit
Funktioniert es jetzt fuer euch wie gewuenscht?
Bis jetzt ist es so wie davor auch.
Hast du die aktuelle Version ausprobiert? Zu finden unterhttps://pastebin.com/raw/djFBttQp
Du wuerdest gern alle Bilder einer Diskussion auf einmal sehen? Dann lies den folgenden Beitrag im WahreTabelle Forum: https://www.wahretabelle.de/forum/1/1/2159
Loesung fuer die, die alle eingestellten Bilder auf einmal sehen moechten - #17
Loesung fuer die, die alle eingestellten Bilder auf einmal sehen moechten - #18
Neuerung:
Die Bilder sind jetzt mit einem Link zum entpsrechenden Post unterlegt. Man kann also direkt per Klick auf ein Bild dorthin navigieren.
Du wuerdest gern alle Bilder einer Diskussion auf einmal sehen? Dann lies den folgenden Beitrag im WahreTabelle Forum: https://www.wahretabelle.de/forum/1/1/2159
Loesung fuer die, die alle eingestellten Bilder auf einmal sehen moechten - #19
Zitat von mahlzeit
Neue Version online auf https://pastebin.com/raw/djFBttQp
Neuerung:
Die Bilder sind jetzt mit einem Link zum entpsrechenden Post unterlegt. Man kann also direkt per Klick auf ein Bild dorthin navigieren.
Wird das Update jetzt automatisch eingespielt?
Loesung fuer die, die alle eingestellten Bilder auf einmal sehen moechten - #20
Dann weiss ich auch nicht, wie oft Tampermonkey selbst auf Updates prueft. Du kannst aber im Dashbard das Script auswaehlen und dann selbst ueber die Dropdown Box "Trigger Update" ausfuehren.
Du wuerdest gern alle Bilder einer Diskussion auf einmal sehen? Dann lies den folgenden Beitrag im WahreTabelle Forum: https://www.wahretabelle.de/forum/1/1/2159
Jetzt Registrieren
- Noch keinen Account?
- Jetzt registrieren und alle Vorteile der Mitgliedschaft erhalten: Mitdiskutieren, über strittige Szenen abstimmen, Schiedsrichter benoten und vieles mehr!
» Jetzt registrieren - Nutzungsbedingungen
- » Jetzt lesen
Benachrichtigungshinsweise
- Erwähne das gesamte Kompetenzteam
- @kt oder @kompetenzteam
- Erwähne alle Moderatoren
- @mods
- Erwähne alle Administratoren
- @admins
- Erwähne das Technikteam
- @technik