anian: js newbie hat frage beim einer window.open() funktion

ich möchte ein neues fenster öffnen, wenn ich auf einen thumb klicke, im neuen fenster soll dann das bild in groß angezeigt werden. hab mir das so gedacht

-------------------------------<code>------------------------------
function OpenGall(pic, w, h, desc, photo) {

var winh = (h + 80);
var winw = (w + 20);
var head = '<html><body><table>';
var foot = '<tr><td><a href="javscript:window.close()" class="subnavi">..::close::..</td></tr></table></body></html>';
var body = '<tr><td align="center"><img src="gallery/'+pic+'" width="'+w+'" height="'+h+'" alt="'+desc+'" border="0"></td></tr><tr><td><div align="right" class="text_small">photo by: '+photo+'</div></td></tr><tr><td><div align="justify" class="text">'+desc+'</div></td></tr>';
var winprops = 'height='+winh+',width='+winw+',menubar=no,toolbar=no,directories=no,scrollbars=no,resizable=no,status=no,location=no';
var win = open('', myname, winprops);
var page = win.document;
var content = ''+head+''+body+''+foot+'';
page.open();
page.write(content);
page.close();
}
---------------------------------</code>-----------------------------

es gibt aber immer eine fehlermeldung mit ')' exspected zeile 1 zeichen 40, kann aber damit nichts anfangen

danke für die hilfe

  1. Hallo anian,

    ich möchte ein neues fenster öffnen, wenn ich auf einen thumb klicke, im neuen fenster soll dann das bild in groß angezeigt werden. hab mir das so gedacht

    ... jede Menge js-Code ...

    hat dieses komplizierte javascript einen bestimmten Grund?
    Den gleichen Effekt erreichst du wesentlich sicherer und mit viel weniger Aufwand.
    <a href="grossbild.jpg" target="_blank"><img src="thumb.jpg ...></a>

    1 Zeile, 2 Tags, kein js und funktioniert (fast) immer.

    Grüße,

    Jochen

  2. ich möchte ein neues fenster öffnen, wenn ich auf einen thumb klicke, im neuen fenster soll dann das bild in groß angezeigt werden. hab mir das so gedacht

    http://home.nexgo.de/struebig/js/popup/popup_alt.htm
    Das ist wesentlich komfortabler, da du kein JS code einbinden musst ausser:
      onclick="return showBild(this)

    Es arbeitet mit dem onload Event eines Bildes und danach kann man die Größe des Bildes mit JS auslesen und zum öffnen des Fensters benutzen.

    var winh = (h + 80);
    var winw = (w + 20);

    Die Klammern sind unnötig.

    var head = '<html><body><table>';
    var foot = '<tr><td><a href="javscript:window.close()" class="subnavi">..::close::..</td></tr></table></body></html>';

    Die Tabelle macht hier keinen sinn auch die CSS Klasse nicht, da du sie in dem Fenster expliezit einbinden musst.

    var body = '<tr><td align="center"><img src="gallery/'+pic+'" width="'+w+'" height="'+h+'" alt="'+desc+'" border="0"></td></tr><tr><td><div align="right" class="text_small">photo by: '+photo+'</div></td></tr><tr><td><div align="justify" class="text">'+desc+'</div></td></tr>';

    Auch hier ist die Tabelle überflüssig genauso wie das DIV.

    es gibt aber immer eine fehlermeldung mit ')' exspected zeile 1 zeichen 40, kann aber damit nichts anfangen

    Ich auch nicht, aber ich vemute mal Mozilla liefert dir eine sinnvollere Fehlermeldung, allgemein ist es immer besser JS mit Hilfe von MZ (oder auch Netscape) zu entwickeln, da er bessere Fehlermeldungen und auch z.b. einen Debugger mitliefert.

    Struppi.