kokonut: Popup Script soll andere Werte für Internet Explorer haben

Hallo!

ich habe folgendes Popup Script:

----
var pop = null;

function popdown() {
  if (pop && !pop.closed) pop.close();
}

function popup(obj,w,h) {

var url = (obj.getAttribute) ? obj.getAttribute('href') : obj.href;

if (!url) return true;

w = (w) ? w += 16 : 656;
  h = (h) ? h += 16 : 496;

var args = 'width='+w+',height='+h+',resizable';

popdown();

pop = window.open(url,'',args);

return (pop) ? false : true;
}

window.onunload = popdown;
window.onfocus = popdown;
----

dieses ist sehr praktisch, weil es jedem Popup automatisch die vorgegebene Größe von 656 x 496 gibt, wenn man es beim Aufruf nicht anders ausgibt - also perfekt für 640 x 480 Bilder. Das ist aber nur beim Firefox (2) die perfekte Größe...Der IE hätte gerne ein bisschen mehr Platz... Hier würde ich beim Script also je nach Browser eine andere Größe eingeben. Als Javascript-Anfänger habe ich folgendes probiert:

if (navigator.appName == "Microsoft Internet Explorer") {
  w = (w) ? w += 16 : 666; //neue Werte
  h = (h) ? h += 16 : 506;
}

und die andere Zeile darüber stehen lassen.

Das änder aber GAR NICHTS..
Könnt ihr mir auf die Sprünge helfen, wie ich das bewerkstellige, dass IE 6 und IE 7 jeweils eine andere Breite und Höhe für das Popup anzeigen?

Vielen vielen Dank für Ere Hilfe!
Gruß kokonut

  1. Hello out there!

    ich habe folgendes Popup Script:
    dieses ist sehr praktisch,

    Ein Popup ist selten praktisch. Die Lightbox für diesen Zweck schon eher.

    Könnt ihr mir auf die Sprünge helfen, wie ich das bewerkstellige, dass IE 6 und IE 7 jeweils eine andere Breite und Höhe für das Popup anzeigen?

    Mit conditional comments verschiedene Scripte einbinden (seien es solche, die nur eine Variable setzen, die später abgefragt wird) oder Conditional Compilation of JScript/ JavaScript in IE.

    See ya up the road,
    Gunnar

    --
    „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
  2. Hi!

    ich habe folgendes Popup Script:

    Schoen. Woher? selbst geschrieben, ja wohl eher nicht...

    w = (w) ? w += 16 : 656;
      h = (h) ? h += 16 : 496;

    ..denn sonst wuerdest Du das hier besser verstehen und as hier:

    if (navigator.appName == "Microsoft Internet Explorer") {
      w = (w) ? w += 16 : 666; //neue Werte
      h = (h) ? h += 16 : 506;
    }

    nicht versuchen.

    Ansonsten erklaer mir mal was das soll:

    w = (w) ? w += 16 : 656;
      h = (h) ? h += 16 : 496;

    Ich verstehe es naemlich nicht wirklich. Wenn es w und h gibt addiert man 16 ansonsten sind sie fix? Wo werden denn w und h definiert?

    Gib doch spasseshalber mal mit alerts deine Werte aus. Schreib also nach dem festlegen von w und h mal

    alert("w=" + w + " h=" + h);

    Gruss

  3. Hi,

    dieses ist sehr praktisch, weil es jedem Popup automatisch die vorgegebene Größe von 656 x 496 gibt, wenn man es beim Aufruf nicht anders ausgibt - also perfekt für 640 x 480 Bilder. Das ist aber nur beim Firefox (2) die perfekte Größe...

    Nein, das ist vielleicht bei *deinem* Firefox die perfekte Größe! Andere User haben ggf. eine Sidebar offen und eine oder mehrere Toolbars konfiguriert oder schlicht die eingebauten Bars anders konfiguriert oder verwenden schlicht weder FF noch IE. Wenn Du die Popup (erfolgreich) geöffnet hast, kannst Du die wirklichen Innenmaße ermitteln und dann entsprechend berücksichtigen - sofern Du nicht Gunnars Lightbox-Empfehlung folgen magst ...

    Gruß, Cybaer

    --
    Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!