Wie funktioniert Target-Steuerung unter JavaScript

  • nein.

    meine komplette startseite in der alle frames (inkl. ihrer einstellungen) vorhanden sind heißt index.html. und das frame in dem die verschiedenen seiten angezeigt werden sollen (also das einzige nichtstatische frame) heißt startseite.html.


    Allerdings funktioniert mein function-befehl irgendwie ned

    so sieht der Link momentan aus:

    Quellcode

    1. Link('startseite.html','Home');


    so sähe er im HTML-Tag aus, falls euch dass weiterhilft:

    Quellcode

    1. <td><a href ="startseite.html" target="startseite"><img src="navbar1_B1.jpg"></a></td>

    wobei, dass erste startseite.html für die Seite steht, die er öffnen soll und das zweite für das Fenster, in dem er sie öffnen soll.

    Nur mal als Bsp. So gehts in der HTML-Version weiter:

    Quellcode

    1. <td><a href ="aktuelles.html" target="startseite"><img src="navbar1_B2.jpg"></a></td>
    2. <td><a href ="entstehung.html" target="startseite"><img src="navbar1_B3.jpg"></a></td>
    3. <td><a href ="gallery.html" target="startseite"><img src="navbar1_B5.jpg"></a></td>
    4. usw


    und in etwa der Form soll er angeblich als Javascript niedergeschrieben werden:

    Quellcode

    1. function Link('startseite.html','startseite.html') {
    2. top.frames['startseite.html'].location.href = 'startseite.html';

    wenn ich des allerdings so niederschreib bringt er mir den fehler, dass er das gesamte "Tabellen-Script nicht anzeigt"

    Ich weiß, dass es kompliziert ist. Aber fragt mich einfach falls ihr was nicht versteht. Bitte um Hilfe. Vielen Dank ;)
  • du formulierst es nur falsch.

    "robert712" schrieb:

    das frame in dem die verschiedenen seiten angezeigt werden sollen (also das einzige nichtstatische frame) heißt startseite.html.

    Der Frame heißt eben startseite - und nicht startseite.html

    D.h. die Funktion bleibt wie in meinem ersten Posting und aufrufen tust du es so:

    Quellcode

    1. <a href ="#" onclick="Link('aktuelles.html','startseite')"><img src="navbar1_B2.jpg"></a>
  • Vielen Dank.

    Ja das hatte ich verwechselt. Natürlich ist der Name eines Frames keine URL.


    Wenn ich nun allerdings folgende Java-Anwendung einbinde, dann meckert mein Browser IE7

    er bringt mir an der unten aufgezeigten Stelle die Fehlermeldung Bezeichner erwartet

    Quellcode

    1. function Link( HIER 'startseite.html','startseite') {
    2. top.frames['startseite'].location.href = 'startseite.html';


    vielen dank für die riesige geduld mit mir.

    Bringt es euch etwas, wenn ich den code des kompletten Scripts poste?
  • ich weiß nicht warum du als die Funktion änderst und dort Strings anstatt der Variablen reinmachst, Du musst einfach nur die Funktion aus meinem allerersten Posting übernehmen und deine Aufrufe der Funktion entsprechend umschreiben.

    Quellcode

    1. <html>
    2. <head>
    3. <script type="text/javascript">
    4. function Link(url, frame) {
    5. top.frames[frame].location.href = url;
    6. }
    7. </script>
    8. </head><body>
    9. <iframe src="index.html" name="startseite" />
    10. <a href ="#" onclick="Link('aktuelles.html','startseite')"><img src="navbar1_B2.jpg"></a>
    11. <a href ="#" onclick="Link('test.html','startseite')"><img src="navbar1_B2.jpg"></a>
    12. </body></html>
    Alles anzeigen
  • Ich würd des gern nochmal kurz auseinanderziehen:

    Quellcode

    1. function Link(url, frame) {
    2. top.frames[frame].location.href = url;


    Ich habe folgende Daten:

    Frame in welchem der Link drinsteht
    frame name="navigation" zugehöriger frame src="navigation.html

    Der Frame in dem die neue Site angezeigt werden soll:
    frame name="startseite" src="startseite.html"

    Dieser Frame soll angezeigt werden:
    url="gallery.html"
  • Die Funktion ist fertig.
    Ich hab sie dir noch ein wenig in Javadoc Notation kommentiert...

    Quellcode

    1. /**
    2. * Stellt eine URL in einem ausgewähltem Frame dar
    3. * @param frame -> der Frame in dem die neue Site angezeigt werden soll.
    4. * z.B. startseite bei frame name="startseite" src="startseite.html"
    5. * @param url -> Die URL, die im Frame angezeigt werden soll.
    6. * z.B. gallery.html bei url="gallery.html"
    7. * @return -> kein Rückgabewert
    8. */
    9. function Link(url, frame) {
    10. top.frames[frame].location.href = url;
    11. }
    Alles anzeigen