window.open mehrfach aufrufen?

  • Hi,

    ich hoffe, ich störe keinen in seiner / ihrer Osterfeiertagsstimmung *gg* aber ich hätte ein Problem:

    Ich möchte auf meiner Seite zwei Seiten per window.open in einem Extrafenster öffnen. Das Problem, das dabei auftritt ist folgendes:
    Sobald das erste Mal auf einen der Links geklickt wurde, funktioniert dies nicht noch einmal. Wurde also Seite1 aufgerufen und wieder geschlossen, so lässt sie sich nicht noch einmal öffnen. Ebensowenig lässt sich nun Seite2 öffnen. Dagegen hilft nur ein Klick auf den "Aktuelle Seite neu laden"-Button des Browsers ... oder evtl. eine Meta-Angabe, die ich aber vermeiden will, um dem Nutzer keinen Zwangstraffic zuzumuten.

    Hier erst einmal mein "code"-schnipsel:


    und die seiten werden halt über

    Code
    [url='Javascript:Disclaimer()']Disclaimer[/url]

    aufgerufen.

    einen direkten Test kann man auch unter http://www.chemo-synthetic.de.vu durchführen, da einfach zweimal auf impressum oder je einmal auf impressum und disclaimer klicken.

    Gibt es eine Lösung, die das mehrfache Aufrufen ermöglicht, oder ist dies generell nicht möglich?

    MfG, DeadEye

  • Hi,
    ich bin kein Javascript-Akrobat aber könnte es daran liegen, dass Du dem neuen Fenster den Focus zuteilst?
    Und der Link, den Du in deinem Frame klickst steht ja auf active, vielleicht kannst Du das Ganze mit einer if-Schleife abfangen.
    Aber das sind nur spontane Überlegungen.
    MfG
    6_freddy :)

  • Danke für den ersten Ansatz 6_freddy, hab eben das *.focus rausgenommen ... damit lässt sich erstmal der zweite link wieder anklicken, jedoch bleibt immer noch das Problem, das sich jeder link nur einmal aufrufen lässt, was zwar für ein impressum und einen disclaimer ausreichen sollte, aber dennoch unschön ist ...

    Es wäre wahnsinnig nett, wenn sich jemand mit etwas mehr javascript-erfahrung mal dazu äußern könnte. ich bin selbst quasi vollnoob und habe überhaupt keine erfahrung mit javascript und wüsste nichtmal, wie ich so eine if-schleife zu schreiben habe, geschweige denn, welche bedingungen ich wo einsetzen muss, damit das gewünschte ergebnis rauskommt ...

    danke schonmal :)

    p.s.: ich habs nur auf dem rechner gelöscht, im netz ist noch die alte version ...

  • Hi,
    auch wenn ich nicht so viel Javascript-Erfahrung habe, wäre mein nächster Ansatz die Rückgabe des Focus an den Link-Frame beim Schliessen des Popup-Fensters. Evtl. auch der Reload des Link-Frames. (k. A. wie)
    Da würde ich weiter suchen.
    MfG
    6_freddy :)

  • Zitat von 6_freddy

    Hi,
    auch wenn ich nicht so viel Javascript-Erfahrung habe...


    ups, wollt dir nicht zu nahe treten und dein wissen herabwürdigen, falls dies so rüberkam ...

    Zitat von 6_freddy

    ... wäre mein nächster Ansatz die Rückgabe des Focus an den Link-Frame beim Schliessen des Popup-Fensters. Evtl. auch der Reload des Link-Frames. (k. A. wie)
    Da würde ich weiter suchen.
    MfG
    6_freddy :)

    ähm ... aha ^^ wie gebe ich einem anderen fenster den focus zurück, wenn ich das geöffnete verlasse? ... werd mich wohl doch nochmal sehr eingehend mit js beschäftigen müssen ... aber wozu gibts google und selfhtml :)

    falls sich trotzdem jemand dazu bereit erklären würde, mir das nochmal hier zu erklären, sag ich auch nicht NEIN, sondern DANKE ^^

    cya, DeadEye

  • Hi,
    nächster Ansatz:
    Vielleicht geht es, wenn Du gleichzeitig mit dem Aufruf des Popup-Fensters einen Reload des Link-Frames ausführst.
    Dann müsste ein erneuter Aufruf des Popups möglich sein.
    Die Beschreibung liefert selfhtml.
    MfG
    6_freddy :wink:

  • Zitat von DeadEye

    Danke für den ersten Ansatz 6_freddy, hab eben das *.focus rausgenommen ... damit lässt sich erstmal der zweite link wieder anklicken, jedoch bleibt immer noch das Problem, das sich jeder link nur einmal aufrufen lässt, was zwar für ein impressum und einen disclaimer ausreichen sollte, aber dennoch unschön ist ...

    Ähem...

    etwas anderes in diesem Zusammenhang:

    Ein Impressum welches in einem Popfenster angezeigt wird erfüllt nicht die Anforderungen nach §6 TDG, da es nicht mehr "... unmittelbar erreichbar ..." ist, wenn jemand Javascript deaktiviert hat. Du kannst dir dann das Impressum gleich ganz schenken.

    Zu deinem Problem:
    Offensichtlich stecken im Quelltext irgendwo unsichtbare Zeichen die das Script durcheinander bringen, eine andere Erklärung habe ich nämlich nicht.
    Ich habe das Script neu geschrieben und bei mir funktioniert es nun einwandfrei:

    Das "Impressum.focus();" habe ich mir geschenkt, du solltest lieber in der Impressum.html in den Body-Tag ein "onLoad=focus()" einbauen, das funktioniert sicherer.

    Übrigens verweist du in beiden Links (Impressum und Disclaimer) auf "javascript:Disclaimer()", das mußt du noch ändern, dann sollte alles klappen.

    G.a.d.M.

    ronald

  • Zitat von Ronald


    Ein Impressum welches in einem Popfenster angezeigt wird erfüllt nicht die Anforderungen nach §6 TDG, da es nicht mehr "... unmittelbar erreichbar ..." ist, wenn jemand Javascript deaktiviert hat. Du kannst dir dann das Impressum gleich ganz schenken.

    was es nicht alles für gesetze gibt ... dann werd ich das wohl doch nicht als javascript machen ... ist ja auch richtig, nicht jeder will javascript zulassen ...

    Zitat von Ronald

    Zu deinem Problem:
    Offensichtlich stecken im Quelltext irgendwo unsichtbare Zeichen die das Script durcheinander bringen, eine andere Erklärung habe ich nämlich nicht.
    Ich habe das Script neu geschrieben und bei mir funktioniert es nun einwandfrei:

    Das "Impressum.focus();" habe ich mir geschenkt, du solltest lieber in der Impressum.html in den Body-Tag ein "onLoad=focus()" einbauen, das funktioniert sicherer.

    Übrigens verweist du in beiden Links (Impressum und Disclaimer) auf "javascript:Disclaimer()", das mußt du noch ändern, dann sollte alles klappen.

    G.a.d.M.

    ronald

    danke für das korrigierte script, auch wenn ich es wohl jetzt nicht mehr einsetze ... schließlich soll die seite ja für alle erreichbar sein.

    ich habe aber außerdem noch meinen wirklichen fehler gefunden ...

    meine "version" (schnipsel):

    Code
    <function Impressum() {
     Impressum =
     window.open("impressum.html", "Impressum", "width=630,height=400");}


    deine version (schnipsel)

    Code
    function Impressum() {
     var Impressum = window.open("impressum.html", "Impressum", "width=630,height=400,resizable=yes");
    }

    der unterschied liegt im detail ... bei mir fehlt schlicht und ergreifend das var ... fazit für mich ... man soll nicht mit scripten rumspielen, wenn man nicht weiß, was man da tut ^^

    und was den link betrifft ... werd ich natürlich noch ändern, ist immer noch die vorabversion, damit da überhaupt was ist und ich leute fragen kann, was ich wo falsch gemacht hab ;)

    ach ja, fast vergessen ... ich steh natürlich zu meine Wort ...

    DANKE !

    MfG, DeadEye :)