Theo: Javascript und neues Fenster öffnen

Hallo zusammen,

ich habe ein Problem mit javascript und dem Öffnen einer neuen Seite mit window.open. Der generierte Link aus meinem Programm sieht folgendermaßen aus:

<a href="javascript:window.open(/cognos8/cgi-bin/cognos.cgi?b_action=xts.run&amp;m=portal/bridge.xts&amp;c_env=/portal/FastEditBusinessCase.xml&amp;c_mode=post&amp;bc=TestApparo&amp;p1=6110)" class="hy">

IE 8 gibt wenn ich auf den Link klicke den folgenden Fehler aus: Details zum Fehler auf der Webseite

Meldung: ')' erwartet
Zeile: 1
Zeichen: 22
Code: 0

Ich verstehe nicht, warum er noch eine ")" erwartet. Sieht jemand den Fehler der in dem o.g. Link ist?

Vielen Dank im Voraus.

  1. Hallo,

    Ich verstehe nicht, warum er noch eine ")" erwartet. Sieht jemand den Fehler der in dem o.g. Link ist?

    Zum einen musst Du die URL als String (in ' oder maskierten ") übergeben.
    Zum anderen benötigt window.open i.d.Regel mindestens zwei Parameter.

    So müsste es gehen:

      
    <a href="javascript:window.open('/cognos8/cgi-bin/cognos.cgi?b_action=xts.run&amp;m=portal/bridge.xts&amp;c_env=/portal/FastEditBusinessCase.xml&amp;c_mode=post&amp;bc=TestApparo&amp;p1=6110', 'MeinNeuesFenster')" class="hy">  
      
    
    

    Viele Grüße,
    Jörg

  2. Hallo,

    <a href="javascript:window.open(/cognos8/cgi-bin/cognos.cgi?b_action=xts.run&amp;m=portal/bridge.xts&amp;c_env=/portal/FastEditBusinessCase.xml&amp;c_mode=post&amp;bc=TestApparo&amp;p1=6110)" class="hy">

    Wie schon erwähnt, sollte die URL bei window.open() in Anführungszeichen stehen.

    Abgesehen davon sollte das href-Attribut die richtige URL enthalten, damit der Link auch bei abgeschaltetem JavaScript funktioniert.
    Der JavaScript-Befehl gehört eher in einen EventHandler wie onClick.
    Auf die URL kannst Du dann mit this.href zugreifen, dann musst Du sie nicht zweimal eingeben. Also z.B. so:

    <a href="/cognos8/cgi-bin/..." onclick="window.open(this.href)" class="hy">

    Ich empfehle Dir, den Artikel »Popups« mit JavaScript von molily zu lesen.

    mfg Thomas

    1. Sorry, window.open() muss natürlich 2 oder 3 Parameter haben, und es braucht noch ein return false, damit die neue Seite nicht auch noch im Hauptfenster angezeigt wird.

      Der ganze Link könnte also z.B. so aussehen:

      <a href="/cognos8/cgi-bin/..." onclick="window.open(this.href, 'Zweitfenster', 'width=400,height=300,left=100,top=200'); return false;" class="hy">