mati: Doppelter Link

Hallo Leute,

Ich möchte wenn im Browser JS aktiviert ist, über JavaScript ein Link erstellen lassen. Wenn kein JS aktiviert ist soll ein HTML Link genutzt werden.

Wenn allso JS aktiv ist kommt der AW über den JS-Link auf eine tolle Seite die JS nutzt. Wenn nicht soll der "normale" Link genutzt werden, und es wird eine Seite angezeigt die halt kein JS braucht.

Ich hatte mir das so gedacht:

<irgendwo im Quelltext>

<script type="text/javascript">
  document.write ("<a href="ordner/tolleseite1.htm" class="link" style="text-decoration: none;">Tolleseite</a>");
 </script>

<noscript>
<a href="ordner/tolleseite2.htm" class="link" style="text-decoration: none;">Tolleseite</a>
</noscript>

</irgendwo im Quelltext>

Ich bin der volle JavaScript Noob, weis aber das das mit document.write nicht geht. (Aus kürzlich gemachter Erfahrung ;)

bringt mich jemand auf den richtigen Weg?

Danke und Gruß
mati

  1. Hi,

    <script type="text/javascript">
      document.write ("<a href="ordner/tolleseite1.htm" class="link" style="text-decoration: none;">Tolleseite</a>");
    </script>

    Du musst in Zeichenketten die Anführungszeichen maskieren. Und im Aritkel zu write() steht außerdem noch, dass du den letzten "/" (slash) ebenfalls mit "" (backslash) maskieren solltest.

    Ich bin der volle JavaScript Noob, weis aber das das mit document.write nicht geht. (Aus kürzlich gemachter Erfahrung ;)

    Falsch. Prinzipiell sollte es schon gehen, nur eben nicht so, wie du es gemacht hast. Kennst du die Fehlerkonsole vom Firefox? Diese hilft meistens weiter, wenn man Fehler im JS-Code hat.

    bringt mich jemand auf den richtigen Weg?

    Hats geholfen?

    mfG,
    steckl

    1. Hallo steckl

      Hi,

      Falsch. Prinzipiell sollte es schon gehen, nur eben nicht so, wie du es gemacht hast.

      Aber so wie Du es geschrieben hast super. Ich habe die Anführungszeichen mit " maskiert und dem </a> noch ein \ vorgesetzt!

      bringt mich jemand auf den richtigen Weg?
      Hats geholfen?

      Jaaa :) vielen Dank!

      mfG,
      steckl

      gruß
      mati

  2. Moin!

    Ich hatte mir das so gedacht:

    <irgendwo im Quelltext>

    <script type="text/javascript">
      document.write ("<a href="ordner/tolleseite1.htm" class="link" style="text-decoration: none;">Tolleseite</a>");
    </script>

    <noscript>
    <a href="ordner/tolleseite2.htm" class="link" style="text-decoration: none;">Tolleseite</a>
    </noscript>

    </irgendwo im Quelltext>

    Viel zu umständlich.

    <a href="ordner/tolleseite2.htm" onclick="location.href='ordner/tolleseite1.htm';return false" class="link" style="text-decoration: none;">Tolleseite</a>

    Cü,

    Kai

    --
    What is the difference between Scientology and Microsoft? One is an
    evil cult bent on world domination and the other was begun by L. Ron
    Hubbard
    ie:{ fl:( br:< va:) ls:? fo:| rl:? n4:° ss:{ de:] js:| ch:? mo:| zu:|]
    1. Moin!

      Viel zu umständlich.

      <a href="ordner/tolleseite2.htm" onclick="location.href='ordner/tolleseite1.htm';return false" class="link" style="text-decoration: none;">Tolleseite</a>

      Cü,

      Kai

      Ja, sehr gut :) Verständissfrage: Wird hier die über den Link zu öffnen Seite quasi, wenn JS aktiv, zweimal geladen?

      Also erst der "normale" Link und danach der "onclick" Link?

      Wenn ja, und ich würde eine .php Seite verwenden, wird dann die "TolleSeite" zweimal an den Browser geschickt? (Trafic?)

      Gruß
      mati

      1. Moin Moin!

        Ja, sehr gut :) Verständissfrage: Wird hier die über den Link zu öffnen Seite quasi, wenn JS aktiv, zweimal geladen? Also erst der "normale" Link und danach der "onclick" Link?

        Nein. Da der onclick-Eventhandler false zurückgibt, wird die Event-Verarbeitung abgebrochen und das Standard-Verhalten des A-Tags findet nicht statt. Außerdem verursacht das Zuweisen an location.href das Laden einer anderen Seite, wodurch jegliche Javascript-Aktivitäten auf der bisherigen Seite abgewürgt werden.

        Alexander

        --
        Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".