2.9k Aufrufe
Gefragt in SN Intern von power-poler Experte (3.7k Punkte)
Wolte mal fragen warum es nicht möglich ist, die Plauderecken Themen und die News auf der Startseite anzeigen zu lassen.
Meine jetzt, wenn ich auf Home gehe sehe ich die News, aber nicht die Plauderecke.
Auf Forum ist es dagegen umgekehrt.

13 Antworten

0 Punkte
Beantwortet von Experte (3.2k Punkte)
Erstmal bitte ich tiefst um Verzeihung, dass ich das Layout dieses Threads ruiniert hab :(

Dann ist mir noch aufgefallen, dass die abwechselnde Farbgebung der Threadzeilen nicht übernommen wurde.

Hab noch n paar Kleinigkeiten verbessert:
[*]statt neuem Zusammenbasteln der Zellen mit DOM-Methoden wird nun einfach der gesamte innerHTML rüberkopiert; sollte alles übersichtlicher, sicherer und sogar effizienter sein
[*]die Plauderecken-Threads werden nun nicht einfach oben angehängt sondern entsprechend ihrer Position auf der Forumsseite "einsortiert". Hierbei treten jedoch durch die News-Artikel kleinere Verschiebungen (~2-5 Zeilen auf), hoffe das reicht. geht sicher etwas genauer, aber jetzt die obere Zeile zu suchen und ne Schleife drüberlaufen zu lassen.... da hab ich ehrlichgesagt grad kein bock drauf... ;)
[*]hab meinen ganzen auskommentierten Debug-Kram rausgenommen
[*]Die Threadzeileneinfärbung wird nach dem Einfügen komplett neu angefertigt
[*]der ultralangen Bedingungszeile hab ich ein paar Umbrüche spendiert

glaub das wars.

jetzt der neue code:

// ==UserScript==
// @name SN - News und Plauderecke
// @namespace
// @include https://supportnet.de/
// ==/UserScript==

function getPostTable(doc)
{
var tables=doc.getElementsByTagName('table');
for(var i=0;i<tables.length;i++)
{
var head=tables[i].rows[0];
if(head.cells.length==5
&&head.cells[0].lastChild.data=="#"
&&head.cells[1].lastChild.data=="Subject"
&&head.cells[2].lastChild.data=="Von"
&&head.cells[3].lastChild.data=="Gruppe"
&&head.cells[4].lastChild.data=="Datum")
return tables[i];
}
}

function getBody(content)
{
var x = content.indexOf("<body");
x = content.indexOf(">", x);
var y = content.lastIndexOf("</body>");
return content.slice(x + 1, y);
}

function getContent(content)
{
var resHTML=document.createElement("body");
resHTML.innerHTML=getBody(content);
return resHTML;
}

var forumXhr = new XMLHttpRequest();
forumXhr.onreadystatechange = function()
{
if(this.readyState==4)
{
if(this.status==200)
{
var fpt=getPostTable(getContent(this.responseText));
var hpt=getPostTable(document);
for(var i=1;i<fpt.rows.length-1;i++)
{
var group=fpt.rows[i].cells[3].lastChild.data;
if(group==" Plauderecke") //achtung: das ist kein normales leerzeichen
//sondern ein "non breaking space"
{
var row=hpt.insertRow(i);
var c=document.createElement("td");
c.innerHTML=fpt.rows[i].cells[0].innerHTML;
row.appendChild(c);
c=document.createElement("td");
c.innerHTML=fpt.rows[i].cells[1].innerHTML;
row.appendChild(c);
c=document.createElement("td");
c.innerHTML=fpt.rows[i].cells[2].innerHTML;
c.className="br8";
row.appendChild(c);
c=document.createElement("td");
c.innerHTML=fpt.rows[i].cells[3].innerHTML;
c.className="br8";
row.appendChild(c);
c=document.createElement("td");
c.innerHTML=fpt.rows[i].cells[4].innerHTML;
c.className="br8";
row.appendChild(c);
}
}
for(var i =1; i<hpt.rows.length-1;i++)
{
if(i&1)hpt.rows[i].className="zeile2";
else hpt.rows[i].className="zeile1";
}
}
}
}
forumXhr.open('GET',"forum",true);
forumXhr.send();


viel Spaß^^
Ele
0 Punkte
Beantwortet von power-poler Experte (3.7k Punkte)
Ach Mist.
Hab gerade dieses greasmonkey auf 4.0b7 zum laufen gebracht, aber wenn ich jetzt auf Einstellungen drücke, kann ich nicht hinzufügen anklicken, oder mach ich irgendwas falsch?
0 Punkte
Beantwortet von terror_tubbie Experte (3k Punkte)
Hi

Ich finde es richtig, die Plauderecke nicht mit auf die Home zu legen, denn das hat meistens nichts mit PC`s zu tun. Und ich möchte nicht in einen PC Forum auf der Startseite haben: Wie mache ich einen Zungenkuss oder so was ähnliches.
Mir ist es so Recht. Wenn ich lange weile habe, lese ich die Plauderecke auch, aber muss nicht gleich auf der Startseite geschockt werden.

Tubbs

PS: Admins, macht weider so, wie ihr es habt
...