André Aÿ: Dynamische Targets

Hallo Webseitenschreiber!

Ich habe es ungern, wenn meine Seite durch einen Link verlassen wird, so dass ich gerne in <A>
einen Target definiere, der ein neues Fenster aufmacht.
Andererseits gibt es Leute, die an ueberlasteten
Mini-Displays sitzen und unter dos nur 1 ein Fenster sehen koennen oder so.
Weiss jemand, wie man mit JavaScript zwei Knoepfe auf einer Page installiert, mit denen der Rezipient zwischen den Targets Diese Seite und
Neue Seite waehlen kann?

Bitte helft mir.

André

  1. Hallo André,

    Weiss jemand, wie man mit JavaScript zwei Knoepfe auf einer Page installiert, mit denen der Rezipient zwischen den Targets Diese Seite und
    Neue Seite waehlen kann?

    Du brauchst gewissermaßen einen JavaScript-Ersatz fuer <base target....>? Probier mal diese Datei:

    <HTML>
    <HEAD>
    <TITLE>Neu</TITLE>
    <script language="JavaScript">
    var Fenster = "self";
    function goTo(URL)
    {
    if(Fenster == "self") self.location.href = URL;
    else window.open(URL, "neuesFenster");
    }
    </script>
    </HEAD>
    <BODY>
    <FORM>
    <INPUT TYPE=RADIO NAME="Target" VALUE="self" onClick="Fenster='self'"> Links in diesem Fenster oeffnen<BR>
    <INPUT TYPE=RADIO NAME="Target" VALUE="new" onClick="Fenster='new'"> Links in neuem Fenster oeffnen
    </FORM>

    <A HREF="javascript:goTo('datei.htm')">Ein Verweis</A>
    </BODY>
    </HTML>

    Viele Gruesse
      Stefan Muenz

    1. Verflucht, da warst Du wieder fixer ;)
      Aber in den Grundzuegen ist's ja die gleiche Idee...

      1. Hallo Christian,

        Verflucht, da warst Du wieder fixer ;)
        Aber in den Grundzuegen ist's ja die gleiche Idee...

        Hoppla, sin ja alle gleichzeitig hier <g> - ich seh schon, als naechstes brauch ich einen Chat ...

        Viele Gruesse
          Stefan Muenz

      2. Verflucht, da warst Du wieder fixer ;)
        Aber in den Grundzuegen ist's ja die gleiche Idee...

        --

        Vielen Dank dir und Stefan fuer eure Idee, konnte
        ich echt gut gebrauchen :-)

        André

    2. Hallo,

      Klasse Tip, danke! So bin ich ganz zufällig auf die Lösung eines lange gehegten Problems gestoßen, lurkenderweise. :-)

      kann man diese Funktion auch über einen Frame ziehen? Will heissen: Unten in der Fussnote kann man das Target waehlen: im Frame oder _top und in einem anderen Frame liegt der eigentliche Verweis. So scrollt die Auswahlmoeglichkeit nicht aus dem Bild. Ist sowas moeglich?

      Viele Gruesse, Stefan

      1. Hallo Stefan,

        kann man diese Funktion auch über einen Frame ziehen? Will heissen: Unten in der Fussnote kann man das Target waehlen: im Frame oder _top und in einem anderen Frame liegt der eigentliche Verweis. So scrollt die Auswahlmoeglichkeit nicht aus dem Bild. Ist sowas moeglich?

        Warum nicht? Koennte man z.B. so machen:

        /* in einer Datei, die Verweise enthaelt: */
        function goTo(URL)
        {
        if(parent.FussFrame.document.Verweis.Ziel[0].checked == true) self.location.href = URL;
        else top.location.href = URL;

        }
        </script>

        Verweise dann notieren wie gehabt mit:
        <a href="javascript:goTo('datei.htm')">...</a>

        Und im Frame mit dem Namen "FussFrame" das folgende Formular:

        <FORM NAME="Verweis">
        <INPUT TYPE=RADIO NAME="Ziel" checked> Links im Frame oeffnen<BR>
        <INPUT TYPE=RADIO NAME="Ziel"> Links im Vollbild oeffnen
        </FORM>

        Nachteil all dieser Loesungen ist halt, dass JavaScript aktiv sein muss, sonst funktionieren die Links ueberhaupt nicht.

        Viele Gruesse
          Stefan Muenz

        1. Warum nicht? Koennte man z.B. so machen:

          ...

          Hi Stefan,

          Vielen Dank! Das Problem, dass Brauser ohne JS gar nix anklicken koennen, laesst sich ja mit (bis auf die Links) identischen Seiten und einer vorherigen Brauserabfrage loesen, denke ich.

          Viele Gruesse,

          Stefan

          1. Vielen Dank! Das Problem, dass Brauser ohne JS gar nix anklicken koennen, laesst sich ja >>mit (bis auf die Links) identischen Seiten und einer vorherigen Brauserabfrage loesen, denke >>ich.

            Was meinst Du mit "Brauser"-abfragen? Ein Startseite, auf der der User etwas anklicken muß? Solche Seiten finde ich immer abschreckend.

            Kann man vielleicht eine Startseite benutzen, die nach 1 sek durch einen Meta-TAG verlassen wird und nach 500 millisek (möglicherweise auch schneller) durch einen JavaScript Befehl? Dann würde der User nichts davon mitbekommen und man könnte trotzdem entscheiden, ob der Browser JavaScript unterstützt.

            Euer Jan

  2. Hallo. Ich denke folgendes ist in etwa das, was Du suchst:

    <HTML>
    <HEAD>
    <TITLE>Switch</TITLE>
    <SCRIPT>
    function goURL(URL) {
    if (window.document.SwitchForm.Switch[0].checked) {
      window.open(URL);
    } else {
      window.location.href = URL;
    }
    }
    </SCRIPT>
    </HEAD>

    <BODY>
    <FORM NAME="SwitchForm">
    <INPUT TYPE="radio" NAME="Switch" CHECKED=TRUE>Neues Fenster<BR>
    <INPUT TYPE="radio" NAME="Switch">Gleiches Fenster
    </FORM>
    <P>
    <A HREF="javascript:goURL('http://www.jadeweb.de/')">Testlink 1</A><BR>
    <A HREF="javascript:goURL('http://www.teamone.de/')">Testlink 2</A>
    </BODY>
    </HTML>

    Bei jedem Link musst Du dann die JavaScript-Funktion goURL aufrufen und den (die?) URL uebergeben. goURL schaut dann, welche Option gerade gewaehlt ist und oeffnet dann entweder ein neues Fenster mit dem (der?) URL oder setzt location.href des eigenen Fensters entsprechend neu.

    Biddechoen!