molily: User-JS Erweiterung

Beitrag lesen

Hallo,

var title = document.getElementsByTagName("title")[0];

  

> Mir fällt gerade auf, dass die Überprüfung auf das title-Element sowieso überflüssig ist, da die Funktion init() erst aufgerufen wird, wenn das Dokument geladen wurde.  
  
Ja - und bitte nicht ohne Grund getElementsByTagName verwenden. document.title versteht jeder JavaScript-fähige Browser seit 1996. Wenn du das mal benchmarkst, wird herauskommen, dass document.title zudem viel schneller ist (im Millisekundenbereich natürlich - aber sobald Scripte komplexer werden, schlägt sowas durch).  
  

> > Müßte also eher  
> >   
> > ~~~javascript
  

> > var titles = document.getElementsByTagName("title");  
> > if (titles && titles[0])  
> > {  
> >    var title = titles[0];  
> > 

heißen. Oder liege ich da falsch?

Ja, du liegst falsch. Wenn das Dokument noch nicht geladen ist, dann liefert document.getElementsByTagName gar nichts zurück - weil document gleich null ist und somit nicht einmal dessen Methoden zur Verfügung stehen.
Aber wie Ashura sagte, steht beim Feuern des load-Events document sowie der DOM-Knotenbaum zur Verfügung.

Mathias