WinFuture-Forum.de: [update#2] Antwortlink Hinter Jedem Kommentar - WinFuture-Forum.de

Zum Inhalt wechseln

Beiträge in diesem Forum erhöhen euren Beitragszähler nicht.
  • 2 Seiten +
  • 1
  • 2

[update#2] Antwortlink Hinter Jedem Kommentar Greasemonkey sei Dank ;)


#1 Mitglied ist offline   zwutz 

  • Gruppe: aktive Mitglieder
  • Beiträge: 652
  • Beigetreten: 17. Juli 07
  • Reputation: 1
  • Geschlecht:Männlich

geschrieben 10. August 2008 - 20:38

So... nachdem der erste Versuch in die Hose ging hier ein neues, verbessertes (und sogar erfolgreich getestetes Script :blink: Die Redaktion möge die vereinzelten "test"-Beiträge meinerseits entschuldigen)

Anleitung:
Als erstes braucht man Firefox und das Addon Greasemonkey (oder einen anderen Browser, der die Möglichkeit bietet, benutzerspezifische Javascripts auf Seiten anzuwenden

Ist das installiert, geht im Menü auf Extras->Greasemonkey->Neues Benutzerskript

In der folgenden Maske gebt ihr einen beliebigen Namen, Namensraum und Beschreibung für das Skript ein (letzteres ist optional).

unter "Auf diese Seite anwenden (zeilenweise angeben):" gebt ihr die folgenden URLs ein:
http://winfuture.de/news*.html
http://winfuture.de/news*.html#*
http://winfuture.de/?page=wfv4/news/news-showspec.php*
http://winfuture.de/index.php?page=wfv4/news/news-showspec.php*


nach einem Klick auf OK öffnet sich euer Editor und dort gebt ihr folgenden Text ein:
var func = document.createTextNode( "" +
"function comment( parent, comment )\n"+
"{\n"+
"	var user = document.getElementById( \"kom\" + comment + \"_1\" ).childNodes[1].childNodes[1].firstChild.data;\n"+
"\n"+
"	var textareas = document.getElementsByName( \"text\" );"+
"	textareas[textareas.length - 1].value = \"@\"+ user + \": \";\n"+
"	var forms = document.getElementsByName( \"postcomment\" );"+
"	forms[forms.length - 1].antwort_auf.value = parent;\n"+
"	window.location.href = \"#kommentarabgeben\";\n"+
"	document.getElementsByName( \"text\" )[textareas.length - 1].focus();\n"+
"}" );

var newScript = document.createElement( "script" );
var typeAttr = document.createAttribute( "type" );
typeAttr.nodeValue = "text/javascript";
newScript.setAttributeNode( typeAttr );
newScript.appendChild( func );
document.getElementsByTagName( "head" )[0].appendChild( newScript );


var tables = document.getElementsByTagName("table");

var url = document.URL;

if ( window.location.search != "" )
{
	var newsId = url.match( /news_id=(\d+)/i )[1];
}
else
{
	var newsId = url.substring( url.indexOf( "," ) + 1, url.lastIndexOf( ".html" ) );
}

var parentId = null;
for ( var i = 0; i < tables.length; ++i )
{
	if ( tables[i].id.substring( 0, 3 ) == "kom" )
	{
		var commentId;
		if ( tables[i].previousSibling.previousSibling )
		{
			commentId = tables[i].previousSibling.previousSibling.name;
		}
		else
		{
			commentId = tables[i].parentNode.parentNode.parentNode.parentNode.p
reviousSibling.previousSibling.name;
		}
				
		var answerCell = document.getElementById( "kom" + commentId + "_3" );
		if ( answerCell )
		{
			parentId = commentId;
			for ( var j = 0; j < answerCell.childNodes.length; ++j )
			{
				if ( answerCell.childNodes[j].nodeName == "A" )
				{
					answerCell.childNodes[j].setAttribute( "href", "java script:comment( \"" + parentId + "\", \"" + commentId + "\" );" );
					break;
				}
			}
		}
		else
		{
			var answerButton = document.createElement( "td" );
			var answerButtonLink = document.createElement( "a" );
			var answerButtonImage = document.createElement( "img" );

			answerButton.setAttribute( "id", "kom" + commentId + "_3" );
			answerButton.setAttribute( "bgcolor", "#e2efff" );
			answerButton.setAttribute( "valign", "bottom" );

			answerButtonLink.setAttribute( "href", "java script:comment( \"" + parentId + "\", \"" + commentId + "\" );" );
			answerButtonLink.setAttribute( "rel", "nofollow" );
			answerButtonLink.setAttribute( "target", "_top" );

 			answerButtonImage.setAttribute( "src", "http://img.winfuture.de/button_replay_to.gif" );
 			answerButtonImage.setAttribute( "title", "Auf diesen Kommentar antworten" );
 			answerButtonImage.setAttribute( "alt", "Reply!" );
 			answerButtonImage.setAttribute( "border", "0" );
 			answerButtonImage.setAttribute( "width", "16" );
			answerButtonImage.setAttribute( "height", "14" );

			answerButtonLink.appendChild( answerButtonImage );
 			answerButton.appendChild( answerButtonLink );

			document.getElementById( "kom" + commentId + "_2" ).parentNode.appendChild( answerButton );
			document.getElementById( "kom" + commentId + "_2" ).parentNode.setAttribute( "style", "white-space: nowrap;" );
		}
	}
}


und speichert ab.

bitte bei Copy&Paste darauf achten, dass hier aus sicherheitsgründen zwischen "java" und "script" ein Leerzeichen steht. Das müsst ihr entfernen

Alternativ hier als Textdatei: Angehängte Datei  winfuture.txt (3,38K)
Anzahl der Downloads: 161

Das Ergebnis sieht dann in etwa so aus:
Angehängtes Bild: kom.JPG

"Features":
alle "blauen Pfeile" rufen nun eine Javascriptfunktion auf, die den Namen in das Kommentarfeld schreibt, dort hin scrollt und den Cursor hineinsetzt. Gleichzeitig wird dafür gesorgt, dass der Kommentar an die richtige Stelle gelangt.
Während also vorher für jeden Kommentar die Seite zweimal neu geladen werden musste (einmal zum kommentieren, einmal, um den Kommentar abzuschicken, spart ihr (und auch Winfuture) euch einen reload)

Ich hoffe, es findet Anklang ;(

Dieser Beitrag wurde von zwutz bearbeitet: 02. September 2008 - 21:27

Raise your glass if you are wrong
0

Anzeige



#2 Mitglied ist offline   HS-TGO 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.054
  • Beigetreten: 03. Dezember 06
  • Reputation: 3
  • Geschlecht:Männlich

geschrieben 11. August 2008 - 13:30

Tolle Idee zwutz, wenn das so funktioniert.
Ist immer blöd wenn man auf den oberen blauen Pfeil klickern muss, aber einem Poster in der Mitte antworten will, welchen man dann erst wieder drüber tippen muß.

Leider schreckt mich das Kommentieren auf der News-Seite derzeit ab, weswegen ich dir leider kein Funktionsfeedback geben kann.
Eingefügtes Bild
0

#3 Mitglied ist offline   Gitarremann 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.263
  • Beigetreten: 04. Juni 06
  • Reputation: 3
  • Geschlecht:Männlich
  • Wohnort:Trebnitz

geschrieben 11. August 2008 - 13:35

Wie weit lässt sich sowas denn ausweiten? Das wäre doch vielleicht eine schöne Möglichkeit für die eine oder andere Funktion, die sich User für das Forum wünschen, was forensoftwareseitig aber nicht zu realisieren ist.
Der Pessimist sagt: "Das Glas ist halb leer,"
Der Optimist sagt: "Das Glas ist halb voll."
Der Realist sagt: "Bedienung, zwei Neue!"
0

#4 Mitglied ist offline   species 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.341
  • Beigetreten: 12. März 05
  • Reputation: 50
  • Geschlecht:Männlich
  • Wohnort:Hessen
  • Interessen:Computer ; Formel 1

geschrieben 11. August 2008 - 13:59

Pfeile werden wie gewünscht angezeigt, @xxx: wird auch korrekt in die Eingabebox übernommen, allerdings kommt das geschriebene nicht auf der WF-Seite an, wenn man einen der "neuen" Pfeile betätigt hat.
Beim oberstem gehts.

Species!
Eingefügtes Bild

Eingefügtes Bild
0

#5 Mitglied ist offline   zwutz 

  • Gruppe: aktive Mitglieder
  • Beiträge: 652
  • Beigetreten: 17. Juli 07
  • Reputation: 1
  • Geschlecht:Männlich

geschrieben 11. August 2008 - 17:27

siehe erster Beitrag...

Dieser Beitrag wurde von zwutz bearbeitet: 11. August 2008 - 22:19

Raise your glass if you are wrong
0

#6 _Benji_

  • Gruppe: Gäste

geschrieben 18. August 2008 - 11:23

top umsetzung! das musste mal gesagt sein!

danke für deine mühe!
0

#7 Mitglied ist offline   Ferrum 

  • Gruppe: aktive Mitglieder
  • Beiträge: 177
  • Beigetreten: 10. Oktober 03
  • Reputation: 0

geschrieben 22. August 2008 - 09:17

Wirklich eine feine Sache das Ding. ;)

Bedauerlich nur dass diejenigen, die zu faul oder zu blöd sind auf den normalen Pfeil zu klicken (und den Adressaten hinter dem @ anzupassen), sich wohl auch kaum die Mühe machen dürften sich Greasemonkey und dieses Script zu installieren - falls sie Firefox denn überhaupt nutzen und/oder über diesen Beitrag überhaupt erstmal zufällig stolpern.

Das Thema wird schon seit Jahren an WF bemängelt und ist eigentlich deren Sache sowas zu integrieren. Warum WF das nicht in den Griff bekommt bleibt mir (wie so manches andere) ein Rätsel.

Dieser Beitrag wurde von Ferrum bearbeitet: 22. August 2008 - 09:20

0

#8 Mitglied ist offline   Tiggz 

  • Gruppe: aktive Mitglieder
  • Beiträge: 918
  • Beigetreten: 13. September 06
  • Reputation: 24
  • Geschlecht:unbekannt

geschrieben 22. August 2008 - 09:43

@zwutz

Top ;) ! Funktioniert einwandfrei.
0

#9 _Benji_

  • Gruppe: Gäste

geschrieben 22. August 2008 - 09:43

Zitat

Das Thema wird schon seit Jahren an WF bemängelt und ist eigentlich deren Sache sowas zu integrieren. Warum WF das nicht in den Griff bekommt bleibt mir (wie so manches andere) ein Rätsel.


weil an der version 4 nichts mehr geändert wird. die inzwischen zugekommenen 50 änderungen sind von dieser ausgeschlossen ;)
0

#10 Mitglied ist offline   Ferrum 

  • Gruppe: aktive Mitglieder
  • Beiträge: 177
  • Beigetreten: 10. Oktober 03
  • Reputation: 0

geschrieben 22. August 2008 - 09:52

In den 2 Jahren, in denen nun schon an der dieser sagenumwobenen v5 gebastelt wird, wäre es auf diese eine Änderung nun wirklich nicht angekommen und wer weiss? Vieleicht dauert es ja nochmal solang? Da könnten solch kleine Änderungen für manche schon einen Mehrwert darstellen.
0

#11 Mitglied ist offline   species 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.341
  • Beigetreten: 12. März 05
  • Reputation: 50
  • Geschlecht:Männlich
  • Wohnort:Hessen
  • Interessen:Computer ; Formel 1

geschrieben 22. August 2008 - 10:14

@zwutz:

Thanx, super Sache und funktioniert top. ;)
Eingefügtes Bild

Eingefügtes Bild
0

#12 _Benji_

  • Gruppe: Gäste

geschrieben 22. August 2008 - 10:15

Beitrag anzeigenZitat (Ferrum: 22.08.2008, 10:52)

In den 2 Jahren, in denen nun schon an der dieser sagenumwobenen v5 gebastelt wird, wäre es auf diese eine Änderung nun wirklich nicht angekommen und wer weiss? Vieleicht dauert es ja nochmal solang? Da könnten solch kleine Änderungen für manche schon einen Mehrwert darstellen.


ich kann soweit sagen, das wir beide hier einer meinung sind, aber was interessiert die breite masse an usern schon ein team? (ja, mal wieder bösartige ironie) kurz um: ob wir darüber reden, oder in china ein sack kartoffeln umfällt, ist so uninteressant wie das wachseln von irgendwelchen klee blättern *gähn*
0

#13 Mitglied ist offline   species 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.341
  • Beigetreten: 12. März 05
  • Reputation: 50
  • Geschlecht:Männlich
  • Wohnort:Hessen
  • Interessen:Computer ; Formel 1

geschrieben 02. September 2008 - 07:04

Leider hat WF irgendwas am Layout der Seite verändert und nun funktioniert das Script nicht mehr :-(

Danke!

Species
Eingefügtes Bild

Eingefügtes Bild
0

#14 Mitglied ist offline   Tiggz 

  • Gruppe: aktive Mitglieder
  • Beiträge: 918
  • Beigetreten: 13. September 06
  • Reputation: 24
  • Geschlecht:unbekannt

geschrieben 02. September 2008 - 07:20

Beitrag anzeigenZitat (species: 02.09.2008, 08:04)

Leider hat WF irgendwas am Layout der Seite verändert und nun funktioniert das Script nicht mehr :-(

Absicht?^^

Kann doch für Winfuture kein Problem sein die Funktion auf der Startseite zu integrieren?!
0

#15 Mitglied ist offline   zwutz 

  • Gruppe: aktive Mitglieder
  • Beiträge: 652
  • Beigetreten: 17. Juli 07
  • Reputation: 1
  • Geschlecht:Männlich

geschrieben 02. September 2008 - 21:23

argh... Saftsäcke -.-

So... läuft wieder und nebenbei noch einen Bug beseitigt, der auf der Seite zum Bearbeiten seiner Beiträge (news_eeig,xxxxx.html) das falsche Textfeld für die Antwort verwendete

aktuelle Version: Angehängte Datei  winfuture.txt (3,38K)
Anzahl der Downloads: 188 (siehe auch ersten Post)
Raise your glass if you are wrong
0

Thema verteilen:


  • 2 Seiten +
  • 1
  • 2

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0