Hans Thomas Vogler: Anker aus einem Frame laden

Beitrag lesen

Ich habe es so gemacht
http://www.somesite.de/index.html?main.html#xy

Muss man da noch was dazu schreiben, JavaScript mässig?

Natürlich. Du mußt den Search-String erst mal vom Menü-Frame aus extrahieren, also ungefähr so (alle Angaben ohne Gewehr):

<script>

with (top.window.location.search)
{
ZieldateiName = slice((indexOf('?')+1),indexOf('#')
AnkerName     = slice((indexOf('#')+1)
}

</script>

Jetzt weiß das Javascript, wo es hinsoll. Natürlich könntest Du jetzt ganz plump schreiben:

Zielfenster.location = ZieldateiName+'#'+AnkerName.

Dann wird die Zieldatei geladen und ganz normal der Anker angesprungen.

Nun könnte es aus irgendwelchen Gründen aber sein, daß die Zieldatei schon im Anzeigeframe angezigt wird. Dann gäbe es ein unschönes Ruckeln beim Nachladen.

Eleganter geht das mit dem "hash"-Objekt:

<script>

if (Zielfenster.location == ZieldateiName) Zielfenster.location.hash = AnkerName

</script>

Viel Spaß beim Experimentiern,

servus,
T.

</script>