Anker aus einem Frame laden
Skick3
- html
Hallo,
habe ein Problem.
Ich möchte einen Ankerlink also #xy aus einem Frame laden.
Die index.html, enthält 2 Frames (menu.html und main.html).
Das Problem ist wenn man die URL also den Hyperlink für den Anker angibt, soll es die index.html laden, wobei der Anker aber auf main.html liegt.
Also es soll die index.html laden, aber dann zum Anker auf main.html springen.
Normalerweise ist der Hyperlink ja so: ./main.html#xy
Es muss aber die index.html laden, wobei der Anker in der main.html steht.
Kann man da überhaupt nen Link machen, dass es die index.html läd aber trotzdessen dann zum Ankerpunkt in der main.html springt.
Ich weiss dass hier ist alles so verwirrend oder?
Ich hoffe mir kann jemand helfen!
Hallo,
Hallo auch,
habe ein Problem.
Wer hat die nicht?
Ich möchte einen Ankerlink also #xy aus einem Frame laden.
Sollte kein Problem sein. Wie Du es beschreibsdt, läßt sich das Problem aber nicht ohne Javascript lösen. Damit kann man einen Search-String weiterreichen (Also etwa: "http://www.somesite.de/frameset.html?irgendwo.html#anker2"
Ich hoffe mir kann jemand helfen!
Hoffe, daß Dir das eine Hilfe war.
servus,
T.
Sollte kein Problem sein. Wie Du es beschreibsdt, läßt sich das Problem aber nicht ohne Javascript lösen. Damit kann man einen Search-String weiterreichen (Also etwa: "http://www.somesite.de/frameset.html?irgendwo.html#anker2"
Hoffe, daß Dir das eine Hilfe war.
servus,
T.
Danke für die schnelle Hilfe aber irgendwie läd es trotzdessen den Anker nicht!
Ich habe es so gemacht
http://www.somesite.de/index.html?main.html#xy
Muss man da noch was dazu schreiben, JavaScript mässig?
Ich habe es so gemacht
http://www.somesite.de/index.html?main.html#xyMuss 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>
Sorry. Doppelklammer am Ende vergessen...
Falsch:
ZieldateiName = slice((indexOf('?')+1),indexOf('#')
AnkerName = slice((indexOf('#')+1)
Richtig:
ZieldateiName = slice((indexOf('?')+1),indexOf('#'))
AnkerName = slice((indexOf('#')+1))
Sorry. Doppelklammer am Ende vergessen...
Falsch:
ZieldateiName = slice((indexOf('?')+1),indexOf('#')
AnkerName = slice((indexOf('#')+1)Richtig:
ZieldateiName = slice((indexOf('?')+1),indexOf('#'))
AnkerName = slice((indexOf('#')+1))
Danke, aber ich bekomme jetzt einen Fehlerscriptmeldung mit dem Inhalt.
'Zielfenster' ist undefiniert
Danke, aber ich bekomme jetzt einen Fehlerscriptmeldung mit dem Inhalt.
'Zielfenster' ist undefiniert
Das mußt Du natürlich erst mal definieren, z.B. indem Du am Beginn des Scripts schreibst:
Zielfenster = parent.frames[1]
Ein bißchen mußt Du selber aber auch gucken. Sonst kann ich Dir ja gleich Dein Script schreiben, aber das bringt Dich nicht weiter.
Wie ich schon sagte: Viel Spaß beim Experimentieren!
servus,
T.
Danke, aber ich bekomme jetzt einen Fehlerscriptmeldung mit dem Inhalt.
'Zielfenster' ist undefiniert
Das mußt Du natürlich erst mal definieren, z.B. indem Du am Beginn des Scripts schreibst:
Zielfenster = parent.frames[1]
Ein bißchen mußt Du selber aber auch gucken. Sonst kann ich Dir ja gleich Dein Script schreiben, aber das bringt Dich nicht weiter.
Wie ich schon sagte: Viel Spaß beim Experimentieren!
servus,
T.
Danke!