bleicher: UserJS

Grüße,
ich hatte was besseres zu tun, also entsand dies UserJS, nicht optimal, aber war ein zeitvertrieb ;). idee ist die ganz neuen postings farblich hervorzuhebebn, mit Gradeinteilung (unter 1 minute, unter 5 etc)

  
// ==UserScript==  
// @include http://forum.de.selfhtml.org/*  
// ==/UserScript==  
  
function selfhtmldatumsleser(){  
var antworten=[]  
var host=window.location.host;  
var datum,zeit,temp, timestamp,diff,color;  
var now=new Date();  
	now=now.getTime();  
  
	var spans=document.body.getElementsByTagName("span");  
		for(var i=0;i<spans.length;i++){  
			//alert(spans[i].className);  
			if(spans[i].className=="posting"){  
				//jetzt datum rausfiltern  
				temp=spans[i].childNodes;  
					for(var q in temp){  
						if(temp[q].className=="date"){  
							datum=temp[q].innerHTML.split(",");  
							zeit=datum[1].split(":");  
							datum=datum[0].split(".");  
							timestamp=new Date(datum[2],(datum[1]-1),datum[0],zeit[0],zeit[1]);  
							diff=(now-timestamp.getTime())/60000;  
								if(diff<1){  
										temp[q].style.color="#f1630c";  
										temp[q].style.fontSize="130%";  
								}else if(diff>=1 && diff <4){  
										temp[q].style.color="#d96117";  
										temp[q].style.fontSize="120%";  
								}else if(diff>=4 && diff <10){  
										temp[q].style.color="#fa670c";  
										temp[q].style.fontSize="115%";  
								}else if(diff>10 && diff<15){  
										temp[q].style.color="#eb6513";  
										temp[q].style.fontSize="110%";  
								}  
							//temp[q].innerHTML+="##"+diff;  
							temp[q].style.fontSize="110%";  
						}  
					}  
			}  
		}  
}  
document.addEventListener("DOMContentLoaded", selfhtmldatumsleser, false);  

MFG
bleicher

--
__________________________-

FirefoxMyth
  1. Hallo,

    var now=new Date();
    now=now.getTime();

    Warum nicht gleich:
    var now = (new Date).getTime()

    var spans=document.body.getElementsByTagName("span");

    Kennst du
    var spans = document.querySelectorAll('span.posting');

      		temp=spans[i].childNodes;  
      			for(var q in temp){  
    

    <mecker>
    Man sollte nie Knotenlisten mit for..in durchlaufen. Da bekommst du jede Menge Schmus herein, nicht nur die Elemente der Liste.
    Mit for..in kann man Objekte (Hashes) durchlaufen, meist abgesichert durch eine hasOwnProperty-Extraprüfung, um vererbte Member auszuschließen. Für sämtliche Arrays, Listen und Knotenlisten ist eine einfache for-Schleife die beste Wahl.
    </mecker>

    Mathias

    1. Grüße,

      var now=new Date();
      now=now.getTime();

      Warum nicht gleich:
      var now = (new Date).getTime()

      hast recht

      var spans=document.body.getElementsByTagName("span");  
      

      Kennst du
      var spans = document.querySelectorAll('span.posting');

      nein, schau mir aber bald an

        		temp=spans[i].childNodes;  
        			for(var q in temp){  
      

      <mecker>
      Man sollte nie Knotenlisten mit for..in durchlaufen. Da bekommst du jede Menge Schmus herein, nicht nur die Elemente der Liste.

      na ja - optimierungsfähig ist es ja^^

      Mit for..in kann man Objekte (Hashes) durchlaufen, meist abgesichert durch eine hasOwnProperty-Extraprüfung, um vererbte Member auszuschließen. Für sämtliche Arrays, Listen und Knotenlisten ist eine einfache for-Schleife die beste Wahl.
      </mecker>

      ich überprüfe ja eh ob es passendes classe hat, mit der obigen abfrage könnte es sich aber ändern, ich schau es mir an.

      so anders gefragt - würde jemand außer mir den nutzen ^^? sonst brauchts ja keine optimierung.
      MFG
      bleicher

      --
      __________________________-

      FirefoxMyth
      1. 'ǝɯɐu$ ıɥ

        so anders gefragt - würde jemand außer mir den nutzen ^^? sonst brauchts ja keine optimierung.

        ich wäre interessiert :-)

        ʍopɐɥs

        --
        !edis gnorw eht morf siht ta gnikool era uoY
      2. so anders gefragt - würde jemand außer mir den nutzen ^^? sonst brauchts ja keine optimierung.

        Als Ansporn für dein Lernen, ich melde Interesse für ein Dutzend an.

        mfg Beat

        --
        ><o(((°>           ><o(((°>
           <°)))o><                     ><o(((°>o
        Der Valigator leibt diese Fische