Hi
(abgesehen davon dass es wie erwähnt das jeweils letzte element bei getElementsByTagName("script"); ist)
Die Frage wäre doch: Könnte man es provozieren, dass dies nicht der Fall ist? Und zwar mit standardkonformen Mitteln?
Mein Antwortvorschlag: Ja, kann man. Wenn das fragliche Script mit gesetztem Attribut "defer" nicht sofort ausgeführt wird, danach aber noch weitere Skripte eingebunden sind, würde sich die Ausführungszeit verschieben, und das Resultat von getElementsByTagName wäre ein anderes.
Danke dass du mich mal wieder an defer erinnerst! (verdrängt :)
Aber das ist ein bisserl konstruiert, die scripte sollen auf eine bestimmte art und weise eingebunden werden, ohne defer, basta.
Wer defer braucht muss sich dann darauf verlassen, dass die eingebundenen Scripte chronologisch ausgeführt werden und die Liste mit einem Zähler abarbeiten.
Das ist aber wieder ein gutes Argument mehr für das Include-Modul, welches ich vorschlug, das könnte auch den defer-SonderFall händeln.
Eine exportierte Methode Include.getPath() würde transparent die Fälle in allen eingebundenen Scripten abhandeln.
Versionscheck, Testsuiten, usw. wären auch denkbar...
Aber müsig zu diskutieren, ich bin ziemlich sicher dass es sowas eh schon gibt, hatte vorgestern in der Buchhandlung im "Rhino"-Buch von Flanagan geblättert da war auch von Modulen mit JS die Rede.
Hier gibts auch bestimmt schon dergleichen http://openjsan.org/
Bye
KurtZ