Henryk Plötz: Sinnloses JavaScript?!

Beitrag lesen

Moin

er führt doch nur einmal die anweisung aus!? warum dann eine schleife?

Die Schleife sorgt dafür dass der Code weiter ausgeführt wird, wenn mehr als 4 Parameter angegeben werden. Das ist sozusagen die Verallgemeinerung der 2-Frames-gleichzeitig-ändern-Lösung.
test("parent","http://huhu"); sorgt dafür dass http://huhu in das Elternframe geladen wird.
test("top.eins","http://huhu","top.zwei","http://haha"); würde http://huhu in den Frame mit dem Namen "eins" und http://haha in den Frame mit dem Namen "zwei" laden.

und das eval verstehe ich auch nicht ganz. er setzt doch die neue location von parent? das würde ohne eval doch genau so funktionieren oder?

Das ist dafür da, dass die Variante mit "parent" immer funktioniert, was bei der Übergabe der Framenummer und anschließendem Zugriff über top.frames[nummer] nicht gehen würde.
Man könnte natürlich das Frame-objekt direkt als Parameter übergeben, aber mit eval ist das auch nicht falsch.

--
Henryk Plötz
Grüße aus Berlin