Übergabe-Wert bei Links möglich ?


  • yannikst
  • 1145 Aufrufe 9 Antworten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Übergabe-Wert bei Links möglich ?

    Hallo Leute !

    Ich bin es wieder und muss HTML-technisch nerven... ;)

    Erst mal das Problem/Vorhaben:

    Es gibt innerhalb meines Web-Projekts Seiten, die zwar zu meinem Projekt gehören, die aber extern verlinkt sind. Da ich diese aber nicht extern öffnen möchte (target "_blank") sondern intern, besteht dennoch das Problem, dass mein Header mit Menü etc. fehlt, um die Navigation trotz externen Inhalts beizubehalten.

    Dazu habe ich jetzt eine menu.html angelegt, die den "Header" beinhaltet und unter diesem ein I-Frame, in dem der externe Inhalt dann geladen werden soll. Nun würde ich bei den "externen" Seiten so vorgehen:

    Statt der externen Seite direkt, wird eben als "Umleitung" die menu.html geladen. Eigentlich kein Problem, gäbe es nicht mehrere diverse "externe" Seiten. Dann müsste ich für jede einzelne dieser Seiten eine "eigene" menu.html machen mit I-Frame !?

    Jetzt meine Frage: Ist es möglich, im Link (<a...>) eine Art Übergabe-Wert zu bestimmen, der den eigentlichen Extern-Link an das I-Frame der menu.html sendet ?

    Dass also schon beim Klick auf den Link der Inhalt der späteren menu.html bestimmt wird... ?

    Ich hoffe, das war verständlich und es gibt eine (einfache) Möglichkeit... Vielleicht so ähnlich wie bei den Sprungmarken...

    PS: Vielleicht gibt es etwas, das wie bei Sprungmarken wie folgt funktioniert !?:
    <a href="www.ExterneSeite.de" target="menu.html#IframeName"> ??
  • Hi,
    gut, dass du deine Frage nochmal dick in einem Satz formuliert hast. Hat mich doch etwas verwirrt dein Text *g
    Okay, schon mal mit

    Quellcode

    1. <a href="www.ExterneSeite.de" target="IframeName">
    versucht?

    Gruß
    Broken Sword
    Auf dem Abstellgleis sah man ihn liegen,
    Auf dem Abstellgleis zwischen Schwelle und Gestein,
    Auf dem Abstellgleis im strömenden Regen,
    Auf dem Abstellgleis allein.
  • Broken Sword schrieb:

    Hi,
    gut, dass du deine Frage nochmal dick in einem Satz formuliert hast. Hat mich doch etwas verwirrt dein Text *g
    Okay, schon mal mit

    Quellcode

    1. <a href="www.ExterneSeite.de" target="IframeName">
    versucht?

    Gruß
    Broken Sword


    Hm, da das I-Frame ja in einer anderen Datei ist (menu.html) weiß er doch so gar nicht, welches IFrame gemeint ist !? Ich muss ihm irgendwie beibringen können, dass er zuerst die menu.html lädt und dann den Inhalt des "angeklickten" Links (w**.ExterneSeite.de) in deren Iframe lädt...
  • Ahhhh, jetzt hab ichs verstanden. (Sry, ist schon spät)
    Hmmm.... mit reinem HTML wirst du da nicht weit kommen, da kann nur noch JavaScript helfen.

    Am Besten in der menu.html folgender code:

    Quellcode

    1. <script type="text/javascript">
    2. // <![CDATA[
    3. var strurl = document.url;
    4. if(strurl.indexof('#') > 0) {
    5. document.IframeName.location.href = strurl.substring(strurl.indexof('#'));
    6. }
    7. // ]]>
    8. </script>

    Aufrufen kannst das dann ala
    <a href="menu.html#www.externeseite.de">test</a>

    Habs nicht ausprobiert, dürfte aber funktionieren.

    Gruß
    Broken Sword
    Auf dem Abstellgleis sah man ihn liegen,
    Auf dem Abstellgleis zwischen Schwelle und Gestein,
    Auf dem Abstellgleis im strömenden Regen,
    Auf dem Abstellgleis allein.
  • Hmm, also da ist noch irgendwas faul. Es wird zwar die menu.html geladen, aber im Iframe nix. Statt dessen kommt eine Fehlermeldung wegen dem Script die folgendes besagt:

    'strurl' ist Null oder kein Objekt

    Den Frame-Namen habe ich angepasst... Liegt es vielleicht daran, dass es sich um ein I-Frame handelt ?

    Muss der Java-Script Code zwischen ein bestimmtes Tag ? Habs jetzt im Header gehabt !?
  • Argh, sry, das war meine Schuld. Du hast nichts falsch gemacht.
    => Ich geh jetzt auch schlafen.... -.-

    Der Code muss heißen:

    Quellcode

    1. <script type="text/javascript">
    2. // <![CDATA[
    3. var strurl = ''+document.URL;
    4. if(strurl.indexOf('#') > 0) {
    5. parent.IframeName.location.href = 'http://'+strurl.substring(strurl.indexOf('#')+1)
    6. }
    7. // ]]>
    8. </script>


    Tut mir leid... Habe es jetzt getestet und es funktioniert bei mir einwandfrei.

    Gruß
    Broken Sword
    Auf dem Abstellgleis sah man ihn liegen,
    Auf dem Abstellgleis zwischen Schwelle und Gestein,
    Auf dem Abstellgleis im strömenden Regen,
    Auf dem Abstellgleis allein.
  • Bei dir funktioniert es ? Muss ich mit dem Einbinden was bestimmtest beachten ? Denn jetzt kommt 'parent.Framename.location' ist Null oder kein Objekt !? :(

    Habe mal mit Alert das strurl= ''+document.URL; getestet, der gibt da ja nur das aus, was bei menu.html im Bowser Adressteil steht !? Wird das dann ins Iframe geöffnet ? Dann kann das doch nicht gehen, oder was ist da los ? Es kommt nur der obige Fehler jetzt...
  • Jo, da war ich gestern echt schon halb im Traumland :(
    Du musst den JS-Code hinter dem Iframe platzieren, sonst kennt JS das Iframe noch gar nicht.
    Tut mir echt leid, dass du deswegen soviele Umstände hattest, dabei ist das im wachem Zustand nur ne Kleinigkeit.

    Nein im Iframe wird das, was hinter dem '#' steht geöffnet.

    Gruß
    Broken Sword
    Auf dem Abstellgleis sah man ihn liegen,
    Auf dem Abstellgleis zwischen Schwelle und Gestein,
    Auf dem Abstellgleis im strömenden Regen,
    Auf dem Abstellgleis allein.