speedy: a href mit/ohne Javascript & Target

Hallo,

letztens hab ich hier gelesen, daß man einen Link, wenn man den schon mit Javascript machen will/muß, folgendermaßen machen sollte:

<a href="irgendeineseite.html" onClick="oeffne(this.href); return false;">

So, ich will das jetzt auf diese Art machen, aber so nach dem Motte, wenn Javascript nicht aktiviert ist, wird der eine href-Link wenigstens benötigt, aber bei Javascrit-Enabled gibt es dann noch bißchen mehr Komfort und es sollen gleichzeitig zwei Links geladen werden. Zusätzlich habe ich in Standard-HTML auch noch den Target angegeben, damit der "Hauptlink" auch im richtigen Fenster geöffnet wird. (hab ich schon erwähnt, ich hab mehrere Frames :-) ). Der Link sieht jetzt also wie folgt aus:

<a href="irgendeineseite.html" onClick="oeffne(this.href,zweiteseite.html); return false;" target="HauptFenster">

Die Javascript-Methode soll einfach den zwei Fenstern (einmal ist das das Fenster, in dem auch der Link ist - also self - und das zweite soll ins target) Jetzt ist die Frage - was macht hierbei jetzt der Browser mit dem Target, wenn ich die Sachen per Javascript öffne ? ... muß ich jetzt bei der Javascript-Methode noch ein dritten Übergabe-Parameter mit this.target übergeben ? - aber, was mach ich dann mit dem hardcodierten Target - wie bringe ich dem Browser bei, daß er dann auch das richtige Fenster in dem Target öffne bzw. diesen hardcodierten Target nicht mehr beachtet/verwendet ?

Hmm ... ist das Problem jetzt klar geworden ? :-)

MFG,
speedy

  1. Hallo speedy,

    <a href="irgendeineseite.html" onClick="oeffne(this.href,zweiteseite.html); return false;" target="HauptFenster">

    wenn du http://selfhtml.teamone.de/javascript/objekte/window.htm#open aufwerksam liest. Insbesonders die Ausführungen zum zweiten Parameter "Fenstername". Dann sollte sich deine Frage eigentlich beantwortet haben.

    Grüße,

    Jochen

    1. Hi,

      hmmm ... ne, habt ihr wohl doch nicht richtig verstanden ...

      Also noch ein Versuch ... ich hab also die Funktion oeffne(url1,url2,target) ... wenn jetzt jemand auf den Link klickt, dann wird onClick ausgeführt, anstatt des href-Angabe direkt (richtig ?) ... dann mache ich in dem oeffne folgendes:

      parent.frames[target].location.href = url1;
      self.location.href = url2;

      So ... aber jetzt bin ich am überlegen ... im "a href" Tag steht ja auch nochmal das target ... beachtet der Browser diesen "hardcodierten" Target jetzt einfach auch nicht oder könnte es eventuell bei (z.B. irgendwelchen NS Versionen) trotzdem auch dazu kommen, daß z.B. der Link, der in self geöffnet werden soll dann auch an <a target> weitergeleitet wird, da der target dort ja auch für die ankommenden Daten im Link steht. ... es sehe halt ziemlich komisch aus, wenn das Menü im Hauptfenster geöffnet wird, nur weil ich eventuell für die Behandlung mit und ohne Javascript da irgendwas nicht beachtet habe und dadurch das Standard-HTML UND der Javascript-Part parallel/nacheinander ausgeführt werden ... oder werden durch das "return false;" sämtlichen Aktivitäten des "Standard-Tags" abgebrochen und das, was in onClick gemacht wird ist was eigenständiges, daß eigentlich garnicht weiß, daß es aus diesem Link aufgerufen wird.

      MFG,
      speedy

      PS: Ich mach mir wahrscheinlich gerade Gedanken über ein Problem, was es garnicht gibt, aber diese Variante muß bei mir dann beim Produktionssystem gleich auf Anhieb funktionieren, da meine momentane "nur Javascript" Variante bei manchen Usern nicht funktioniert und da macht man sich halt Gedanken über alle möglichen Eventualitäten.

      1. hi,

        So ... aber jetzt bin ich am überlegen ... im "a href" Tag steht ja auch nochmal das target ... beachtet der Browser diesen "hardcodierten" Target jetzt einfach auch nicht

        er beachtet es dann, wenn der reine html-link ausgeführt wird.
        bei deinem javascript spielt dieses target aber überhaupt keine rolle - wie sollte es auch.

        gruss,
        wahsaga

        1. Hi,

          this.href
          this.target

          ich wollte mir da grad nochmal sicherheitshalber die Sachen im SelfHTML anschauen, wie auf das target etc. per Javascript zugegriffen werden kann bzw. was dort noch dazu geschrieben wird. Da hab ich bisher nur folgenden Link gefunden:

          http://selfhtml.teamone.de/javascript/objekte/htmlelemente.htm#a

          Nur demnach wäre dieser Zugriff erst ab IE 5 bzw. NS 6 möglich ... oder habe ich da was falsches in die Hand bekommen und der Zugriff über eine ID ist erst ab IE5 bzw. NS6 möglich, aber this.href und this.target direkt im <a href="datei.html" target="main" onClick="open(this.href,this.target)" gibt es schon früher ?

          MFG,
          speedy

          1. Hallo,

            Du solltest "return false;" nicht vergessen! Sonst wird Dein JavaScript quasi ignoriert.

            Heiner

  2. Hallo,

    ich glaube dein Problem ist, daß das onClick-JavaScript "oeffne" das HauptFenster als target benutzt oder?

    In dem Fall könntest du die JavaScript-Funktion auslagern, dann sollte es funktionieren:

    <script type="text/JavaScript">
    <!--

    function oeffne()
    {
    window.open("zu_oeffnende_datei.html", "Fensterbezeichner", "width=200,height=200");
    // sonstiger Code
    }

    //-->
    </script>

    <a href="irgendeineseite.html" target="HauptFenster" onClick="oeffne();">

    Viele Grüße
    Manfred