Philip: href dynamisch tauschen

Hallo!

Ich habe in meinem Dokument 4 href. Kann ich deren wert, also die verlinkte URL mit Javascript dynamisch verändern?

MfG

Philip

  1. Hallo Philipp,

    die Antwort lautet erstmal: Ja, natürlich...;

    Gruß, Frankx

    1. die Antwort lautet erstmal: Ja, natürlich...;

      Ja das hab ich mir schon gedacht...
      Und natürlich habe ich mir auch die entsprechenden Seiten in der Dokumentation durchgelsen, aber das klappt einfahch nicht.

      Eigentlich Müsste das doch mit

      document.links[5].location.href = "home.html"

      gehen oder?

      MFG

      1. die Antwort lautet wieder: Ja...;

        vielleicht mal einen testauszug komplett, sogenante leuchtkugel...?

        gruß, frankx

        1. vielleicht mal einen testauszug komplett, sogenante leuchtkugel...?

          Kannst du haben:
          So sollte es doch gehen... Oder?

          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
          <html>
            <head>
            <title>oben</title>
            <script type=text/javascript>
            function haupt () {
            homeu1 = new Image
            homeu1.src = "homeu1.gif"
            homeu2 = new Image
            homeu2.src = "homeu2.gif"
            homeu3 = new Image
            homeu3.src = "homeu3.gif"
            document.images[5].src = homeu1.src
            document.images[6].src = homeu2.src
            document.images[7].src = homeu3.src
            document.links[4].location.href = "home2.html"
            }
            function produkte () {
            produ1 = new Image
            produ1.src = "produ1.gif"
            produ2 = new Image
            produ2.src = "produ2.gif"
            produ3 = new Image
            produ3.src = "produ3.gif"
            document.images[5].src = produ1.src
            document.images[6].src = produ2.src
            document.images[7].src = produ3.src
            }
            function support () {
            suppu1 = new Image
            suppu1.src = "suppu1.gif"
            suppu2 = new Image
            suppu2.src = "suppu2.gif"
            suppu3 = new Image
            suppu3.src = "suppu3.gif"
            document.images[5].src = suppu1.src
            document.images[6].src = suppu2.src
            document.images[7].src = suppu3.src
            }
            </script>
            </head>
            <body>
            <div align=right>
            <img src=logo2.gif alt="Logo" border=0>
            </div>
            <br>
            <div align=center>
            <a href="javascript:haupt()">
            <img src=home1.gif alt="Home" border=0></a>
            &nbsp;
            <a href="javascript:produkte()">
            <img src=produkte1.gif alt="Produkte" border=0></a>
            &nbsp;
            <a href="javascript:support()">
            <img src=support1.gif alt="Support" border=0></a>
            &nbsp;
            <a href="mailto:info@info.de">
            <img src=kontakt1.gif alt="Kontakt" border=0></a>
            </div>
            <div align=center>
            <a href="main.html" target=main>
            <img src=nix.gif alt=menu1 border=0></a>
            <a href="main.html" target=main>
            <img src=nix.gif alt=menu1 border=0></a>
              <a href="main.html" target=main>
            <img src=nix.gif alt=menu1 border=0></a>
              <a href="main.html" target=main>
            <img src=nix.gif alt=menu1 border=0></a>
              <a href="main.html" target=main>
            <img src=nix.gif alt=menu1 border=0></a>
              <a href="main.html" target=main>
            <img src=nix.gif alt=menu1 border=0></a>
            </div>
            </body>
          </html>

          1. hallo,

            nee, ein auszug, aber cybaer hat recht...;

            document.links[5].location.href = "home.html"

            bringt nischt.

            mit document.links[5].href solltest du dem link[5] eín neues ziel unterjubeln können, das dann aktiv wird, wenn link geklickt, mit document.location.href gibts du bei funktionsauruf dem ganzen dokument eine neue href...;

            frankx

      2. Hi,

        Und natürlich habe ich mir auch die entsprechenden Seiten in der Dokumentation durchgelsen, aber das klappt einfahch nicht.

        Dann würde ich als Doku selfHTML empfehlen.

        Dort steht nämlich so etwas

        document.links[5].location.href = "home.html"

        nicht. =;-) *Nicht* das location-Objekt ist gefragt, nur die Eigenschaften. Das links-Objekt kennt eben auch die Eigenschaften, die location-Objekt kennt!

        Gruß, Cybaer

        --
        Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
        1. nicht. =;-) *Nicht* das location-Objekt ist gefragt, nur die Eigenschaften. Das links-Objekt kennt eben auch die Eigenschaften, die location-Objekt kennt!

          Hä?

          Känntest du das bitte nochmal in cleartype übersetzen?

          Ich verstehe Garnückts.

          1. Tag Philip.

            Känntest du das bitte nochmal in cleartype übersetzen?

            http://de.selfhtml.org/javascript/objekte/links.htm#location sollte dir helfen.

            Siechfred

            1. Hallo,

              http://de.selfhtml.org/javascript/objekte/links.htm#location sollte dir helfen.

              Die Collections wie document.links sind eigentlich notorisch schlecht dokumentiert, Attribute fehlen, das Ganze ist halt auf Netscape-JavaScript vor dem W3C DOM HTML ausgerichtet. Dass man gemäß DOM HTML über die Collections auf die Elementobjekte Zugriff hat (und zwar auch über deren Namen/ID) und mit denen alles beliebige anstellen kann, wird nirgendwo gesagt.
              Vielleicht ist deshalb http://de.selfhtml.org/javascript/objekte/htmlelemente.htm#a vollständiger. Wobei dort am Anfang auch die Ansprechmöglichkeit über die Collections genannt wird, das Beispiel hingegen nutzt DOM-Core-Methoden. So kann man sich mit SELFHTML ein document.links.linkname.href nur mühsam selbst zusammensuchen.

              Mathias

          2. Hallo Philip.

            Känntest du das bitte nochmal in cleartype übersetzen?

            [Systemsteuerung]
            -> [Anzeige]
              -> [Darstellung]
                -> [Erweitert...]
                  -> [x] Folgende Methode ...
                     [ ClearType]

            Ich verstehe Garnückts.

            Nun besser?

            Einen schönen Donnerstag noch.

            Gruß, Ashura

            --
            Selfcode: sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
            30 Days to becoming an Opera8 Lover -- Keyboard Shortcuts
            Meine Browser: Opera 8.50 | Firefox 1.0.7 | Lynx 2.8.5 | Konqueror 3.3.2 | Netscape 4.7 | IE 6.0
            Use OpenOffice.org
            1. [Systemsteuerung]
              -> [Anzeige]
                -> [Darstellung]
                  -> [Erweitert...]
                    -> [x] Folgende Methode ...
                       [ ClearType]

              System... was??

              Naja egal bin halt Apple User... :-)

              Aber das Problem ist auch gelöst!

  2. Hallo!

    Ich habe in meinem Dokument 4 href. Kann ich deren wert, also die verlinkte URL mit Javascript dynamisch verändern?

    MfG

    Philip

    Ja, das kann man.

    Aber ich glaube, das reicht dir so als Antwort nicht. Oder? *gg*

    Okay. So könnte man das machen.

    <script language="JavaScript" type="text/javascript">

    Link = 'http://meineSeite.de/meinLink.html';

    function LinkClick(){
      this.document.location.href = Link
    }

    function ChangeLink(NewLink){
      Link = NewLink;
    }

    </script>

    ... Hier steht dann irgendwas

    <a href="#" onClick="LinkClick()">Link</a>

    Die Idee dahinter ist, dass du die Variable Link durch die function ChangeLink ändern kannst und der Link dann einfach die function LinkClick aufruft, die die URL der Variablen Link anzeigt.

    Für mehrere Links kannst du das mit einem Array gestalten.

    Link = new Array();
    Link[1] = http://meineSeite.de/meinLink1.html';
    Link[2] = http://meineSeite.de/meinLink2.html';
    Link[3] = http://meineSeite.de/meinLink3.html';

    function LinkClick(index){
      this.document.location.href = Link[index]
    }

    function ChangeLink(index,NewLink){
      Link[index] = NewLink;
    }

    <a href="#" onClick="LinkClick(1)">Link1</a>
    <a href="#" onClick="LinkClick(2)">Link2</a>
    <a href="#" onClick="LinkClick(3)">Link3</a>

    Die function ChangeLink musst du irgendwo einbauen, z.b. in die ClickLink kombiniert mit einem Switch-Case.

    MfG Mero

    1. Ja, das kann man.

      Aber ich glaube, das reicht dir so als Antwort nicht. Oder? *gg*

      OK OK Ich bin einfach nur zu doof....

      Ich hab es jetzt geschafft. Man Man Man....
      Ich glaub ich sollte morgens mehr Kaffee trinken...

      1. wenn du eine verständlichere Antwort als die unten hast, poste sie doch kurz, dann ham andre auch was von?

        gruß, frankx

    2. Hi,

      Okay. So könnte man das machen.

      Um Himmelswillen!

      Gibt es *irgendeinen* Grund, warum Du dem Surfer einen normalen Lnk mit normaler, gewohnter Anzeige des Ziel-URLs nichtnurvorenthalten willst, sondern ihnauch noch in die Irre führst? (rhetorische Frage)

      Gruß, Cybaer

      --
      Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
      1. Hi,

        Okay. So könnte man das machen.

        Um Himmelswillen!

        Gibt es *irgendeinen* Grund, warum Du dem Surfer einen normalen Lnk mit normaler, gewohnter Anzeige des Ziel-URLs nichtnurvorenthalten willst, sondern ihnauch noch in die Irre führst? (rhetorische Frage)

        Gruß, Cybaer

        Aber natürlich.... Ich mach doch nichts ohne Grund. *gg*

        Ein Header-Menu ist ein prima Grund. Kombiniert mit unterdrücken der Quellcodeanzeige und Deaktivierung der rechten Maustaste kann ich so meinen User innerhalb von meiner Seite hinschicken, wohin ich will, ohne dass er direkt die Adresse eingeben kann und mir so meinen schönen Frameaufbau kaputt macht. Das Menu bleibt in der Breite gleich und ich änder einfach immer nur die Button und die Linkadresse. Wie genau die Seite innerhalb meines Aufbaus heisst muss er doch gar nicht wissen.

        1. Hi,

          Okay. So könnte man das machen.

          Um Himmelswillen!

          Gibt es *irgendeinen* Grund, warum Du dem Surfer einen normalen Lnk mit normaler, gewohnter Anzeige des Ziel-URLs nichtnurvorenthalten willst, sondern ihnauch noch in die Irre führst? (rhetorische Frage)

          Gruß, Cybaer

          Ja ja. Okay. Wer lesen kann ist klar im Vorteil.
          Bei einem normalen Link mach ich das natürlich nicht.
          Und das rhetorisch hab ich natürlich auch übersehen. :-(

        2. Hi,

          Wie genau die Seite innerhalb meines Aufbaus heisst muss er doch gar nicht wissen.

          Ich bin hier nun wahrlich nicht als "Framehasser" bekannt ;-), aber in mir erweckt dieses ganze Vorgehen - ohne es im Detail verstanden zu haben -, nun ja, einen "suboptimalen" Eindruck. =;)

          Gruß, Cybaer

          --
          Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!