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: winfuture.txt (3,38K)
Anzahl der Downloads: 164
Das Ergebnis sieht dann in etwa so aus:
"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