popupgröße zu klein

tobias_petry

Erfahrenes Mitglied
Hi, ich muss zugeben ich bin in JavaScript leider kein Profi und falle daher immerwieder auf die verschiedenen Ausartungen der einzelnen Browser rein.
Ich wollte ein Popup erzeugen, worin ein Flashfile dargestellt wird, nun habe ich aber das Problem, dass der Windows-Rahmen dem Flashfilm platz klaut, also habe ich mittels Javascript den Rahmen bestimmt und das Popup dementsprechend vergrößert.
Nur der IE schluckt das nicht, weil er die Function window.innerWidth und window.outerWidth nicht kennt (das gleiche mit height).

mein Code:
HTML:
function popup(url,titel,breite,hoehe){
 var offsetX=((screen.availWidth/2)-breite/2);
 var offsetY=((screen.availHeight/2)-hoehe/2);
 var pop=window.open(url,'','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,fullscreen=no,width='+breite+',height='+hoehe+',top='+offsetY+',left='+offsetX);
 var rahmenBreite=pop.outerWidth-pop.innerWidth;
 alert(pop.outerWidth);
 alert(pop.innerWidth);
 var rahmenHoehe=pop.outerHeight-pop.innerHeight;
 pop.resizeTo(breite+rahmenBreite,hoehe+rahmenHoehe);
 pop.moveTo(offsetX,offsetY);
 pop.location=url;
}

Ansehen kann man sich das hier (auf das "spielen" unter dem Affen klicken), im FF funktioniert es optimal.
Gibt es dafür einen Lösung oder Lösungsansätze, die man umsetzen könnte?
 
Zuletzt bearbeitet:
Code:
function alertSize() {
  var myWidth = 0, myHeight = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    myWidth = window.innerWidth;
    myHeight = window.innerHeight;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    myWidth = document.documentElement.clientWidth;
    myHeight = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    myWidth = document.body.clientWidth;
    myHeight = document.body.clientHeight;
  }
  window.alert( 'Width = ' + myWidth );
  window.alert( 'Height = ' + myHeight );
}


gefunden bei:
http://www.howtocreate.co.uk/tutorials/javascript/browserwindow
 
neija mit document geht ja leider nicht, da dies nicht in dem pop aufgerufen wird, sondern von dem öffner verändert werden soll

Sollte es keine Lösung geben, muss ich diese Methode wohl in Betracht ziehen :(
 
Soweit hast Du Recht aber mit der Methode bekommst du vernünftige Default Werte (Wenn IE mach x 20pixel größer etc.), oder du änderst die Fenstergröße nach onLoad auf gescheite Werte, und blendest dann erst als Schmankerl den Seiteinhalt ein.
(Div Box unsichtbar machen mit Stylesheet oder beim Mozilla cool mit opacity soft einblenden)

Auf die Variablen des vaterdokuments kannst du mit Windows.opener zugreifen dort setzen und nach onLoad abfragen.
Bitte vorher testen ob der Vater noch lebt etc.
 

Neue Beiträge

Zurück