Jörg Kocken: Neues Fenster öffnen

Hallo Zusammen,

ich möchte über einen Link ein neues "kleines" Fenster öffnen (ohne Menüleiste) um z.B. Fotos anzeigen zu können. Ich habe folgenden Code eingebaut:

In den Head-Bereich
<script language="JavaScript">
<!--
function fenster()
{
NeuesFenster=window.open("DeineDatei.htm","Fenstername","width=800,height=242,resizable=yes,
scrollbars=yes,top=20,left=20,screenX=20,screenY=20");// Dies muss in einer Zeile ohne Zeilenumbruch stehen
NeuesFenster.focus();
}
 //-->
</script>

Im Body-Bereich:
<a href="Deinedatei.htm" onclick="fenster();return false;">
Dein Link</a>

Trotzdem funktioniert es nicht. Kann mir jemand einen Tipp geben, wie ich das o.g. Ziel einfach erreiche.

Vielen Dank im Voraus.

Jörg.

  1. Warum return false im onClick ? Mach das mal wech ;-)

    mit href=javascript:void(0); ist das Problem übrigens auch nicht gelöst sondern so (bei Fehlermeldungen ggf. den Write-Code zerlegen):
    <script type="text/javascript">
    document.write("<span onclick='fenster("deineDatei.html")' style="text-decoration:underline">einLinkjuchu</span>"+"<BR>");
    </script>
    <noscript>
    <a href="deineDatei.html" target="_blank">einLinkjuchu</a>
    </noscript>

    Hallo Zusammen,

    ich möchte über einen Link ein neues "kleines" Fenster öffnen (ohne Menüleiste) um z.B. Fotos anzeigen zu können. Ich habe folgenden Code eingebaut:

    In den Head-Bereich
    <script language="JavaScript">
    <!--

    von MichelM geändert:  function fenster(htmldateiname)

    {
    von MichelM geändert: NeuesFenster=window.open(htmldateiname,"Fenstername","width=800,height=242,resizable=yes,
    scrollbars=yes,top=20,left=20,screenX=20,screenY=20");// Dies muss in einer Zeile ohne Zeilenumbruch stehen
    NeuesFenster.focus();
    }
    //-->
    </script>

    Im Body-Bereich:
    <a href="Deinedatei.htm" onclick="fenster();return false;">
    Dein Link</a>

    Trotzdem funktioniert es nicht. Kann mir jemand einen Tipp geben, wie ich das o.g. Ziel einfach erreiche.

    Vielen Dank im Voraus.

    Jörg.

    1. Moin!

      Warum return false im onClick ? Mach das mal wech ;-)

      Nein, das bleibt drin. Es sorgt nämlich dafür, daß der normale Link im HREF-Attribut beim Klicken _nicht_ ausgeführt wird, sondern nur die fenster()-Funktion im onclick.

      Wenn kein Javascript aktiviert ist, wird der Link im HREF dann ausgeführt - so programmiert man kompatible Webseiten, und es macht absolut Sinn, sowas zu tun. Man muß dann nämlich nicht diesen Umweg nehmen:

      <script type="text/javascript">
      document.write("<span onclick='fenster("deineDatei.html")' style="text-decoration:underline">einLinkjuchu</span>"+"<BR>");
      </script>
      <noscript>
      <a href="deineDatei.html" target="_blank">einLinkjuchu</a>
      </noscript>

      Abgesehen davon funktioniert deine Version in Netscape 4 nicht - der kenn onclick nur in Links, nicht in <span>.

      - Sven Rautenberg

      1. Moin!

        Warum return false im onClick ? Mach das mal wech ;-)

        Nein, das bleibt drin. Es sorgt nämlich dafür, daß der normale Link im HREF-Attribut beim Klicken _nicht_ ausgeführt wird, sondern nur die fenster()-Funktion im onclick.

        Sicher ? Bei allen Browsern ? Bei mir war es nicht so. (Wäre ja auch viel zu einfach *ggg*).

        Wenn kein Javascript aktiviert ist, wird der Link im HREF dann ausgeführt - so programmiert man kompatible Webseiten, und es macht absolut Sinn, sowas zu tun. Man muß dann nämlich nicht diesen Umweg nehmen:

        <script type="text/javascript">
        document.write("<span onclick='fenster("deineDatei.html")' style="text-decoration:underline">einLinkjuchu</span>"+"<BR>");
        </script>
        <noscript>
        <a href="deineDatei.html" target="_blank">einLinkjuchu</a>
        </noscript>

        Abgesehen davon funktioniert deine Version in Netscape 4 nicht - der kenn onclick nur in Links, nicht in <span>.

        Das stimmt, hab noch den nolayer-Tag vergessen. Ich hab den konqueror unter Linux zum Testen. Auch einen alten MAC. IMHO empfiehlt es sich mittlerweile bei Netscpe 4.x JavaScript zu deaktivieren, zumindest unter Linux, weil ja alles IE-kompatible geworden ist.
        Ich selbst benutze fast nur Netscape 6.21. Opera und IE sind nur debug und Testwerkzeug.

        • Sven Rautenberg
        1. Moin!

          Warum return false im onClick ? Mach das mal wech ;-)

          Nein, das bleibt drin. Es sorgt nämlich dafür, daß der normale Link im HREF-Attribut beim Klicken _nicht_ ausgeführt wird, sondern nur die fenster()-Funktion im onclick.

          Sicher ? Bei allen Browsern ? Bei mir war es nicht so. (Wäre ja auch viel zu einfach *ggg*).

          Dann ist dein Browser kaputt, oder deine Programmierung fehlerhaft gewesen.

          Das stimmt, hab noch den nolayer-Tag vergessen. Ich hab den konqueror unter Linux zum Testen. Auch einen alten MAC. IMHO empfiehlt es sich mittlerweile bei Netscpe 4.x JavaScript zu deaktivieren, zumindest unter Linux, weil ja alles IE-kompatible geworden ist.

          Finde ich nicht. Es wird entweder alles W3C-DOM-kompatibel, oder auch noch für die zwei alten Browser IE 4 und NS 4 kompatibel. Wenn man Javacript ausschaltet, hat man zumindest beim Netscape auf CSS zu verzichten, und das ist erst recht Mist, weil das jede zweite Seite irgendwie einsetzt - und _das_ wird rasant mehr. :)

          Ich selbst benutze fast nur Netscape 6.21. Opera und IE sind nur debug und Testwerkzeug.

          Ähm, deine Aussagen sind etwas wirr, eben hattest du noch Konqueror...

          - Sven Rautenberg

  2. Moin!

    Trotzdem funktioniert es nicht. Kann mir jemand einen Tipp geben, wie ich das o.g. Ziel einfach erreiche.

    "Funktioniert nicht" funktioniert nicht. Eine Fehlerbeschreibung wäre hilfreich, denn normalerweise sollte das, was du programmiert hast, funktionieren.

    - Sven Rautenberg

  3. Hi

    Versuch im body mal folgendes:

    <a href="javascript:fenster();">Dein Link</a>

    Gruss
    Michael

    Hallo Zusammen,

    ich möchte über einen Link ein neues "kleines" Fenster öffnen (ohne Menüleiste) um z.B. Fotos anzeigen zu können. Ich habe folgenden Code eingebaut:

    In den Head-Bereich
    <script language="JavaScript">
    <!--
    function fenster()
    {
    NeuesFenster=window.open("DeineDatei.htm","Fenstername","width=800,height=242,resizable=yes,
    scrollbars=yes,top=20,left=20,screenX=20,screenY=20");// Dies muss in einer Zeile ohne Zeilenumbruch stehen
    NeuesFenster.focus();
    }
    //-->
    </script>

    Im Body-Bereich:
    <a href="Deinedatei.htm" onclick="fenster();return false;">
    Dein Link</a>

    Trotzdem funktioniert es nicht. Kann mir jemand einen Tipp geben, wie ich das o.g. Ziel einfach erreiche.

    Vielen Dank im Voraus.

    Jörg.

    1. Hallo Michael,
      das ist richtig, funktioniert aber auch nicht in allen Browsern.
      Genau wie href=javascript:void(0) oder return false nicht immer funzt.

      Sicher wäre es hilfreich, zu wissen, welcher Browser verwendet wird.
      Oder ob JavaScript deaktiviert wurde.
      Bei mir gab es mal Probleme mit dem IE6, da war dann ActiveX deaktiviert.
      Es gibt leider nicht nur unterschiedliche Browser sondern auch unterschiedliche Browsereinstellungen.
      IMHO sollte man nur target=_blank einsetzen, das geht wenigstens immer ;-)
      Und pop-ups sind sowieso out.

      Ein DHTML-Fenster wäre vielleicht auch eine Lösung, aber dann geht das wieder von vorne los.. Javascript-DHTML-Inkompatibilität.
      Bleibt nur zu hoffen, dass bald die alten Browser verschwinden, denn die HTML 4.01-Funktionen und JS1.5 funzen bei den Neuen prima.
      Dann können wir uns auf das XHTML und UMTS-Chaos vorbereiten *ggg*

      Hi

      Versuch im body mal folgendes:

      <a href="javascript:fenster();">Dein Link</a>

      Gruss
      Michael

      Hallo Zusammen,

      ich möchte über einen Link ein neues "kleines" Fenster öffnen (ohne Menüleiste) um z.B. Fotos anzeigen zu können. Ich habe folgenden Code eingebaut:

      In den Head-Bereich
      <script language="JavaScript">
      <!--
      function fenster()
      {
      NeuesFenster=window.open("DeineDatei.htm","Fenstername","width=800,height=242,resizable=yes,
      scrollbars=yes,top=20,left=20,screenX=20,screenY=20");// Dies muss in einer Zeile ohne Zeilenumbruch stehen
      NeuesFenster.focus();
      }
      //-->
      </script>

      Im Body-Bereich:
      <a href="Deinedatei.htm" onclick="fenster();return false;">
      Dein Link</a>

      Trotzdem funktioniert es nicht. Kann mir jemand einen Tipp geben, wie ich das o.g. Ziel einfach erreiche.

      Vielen Dank im Voraus.

      Jörg.