Höhe eines Popup-Fensters
Stefan
- javascript
Hallo,
zum Öffnen eines Popup-Fensters habe ich folgenden Code verwendet:
<script type="text/javascript">
<!--
function popup() {
NewWindow = window.open("test.htm","test","width=790,height=315,menubar=no,resizable=no,locationbar=no");
}
// -->
</script>
Dies funktioniert beim IE (6.0). Die innere Fensterhöhe beträgt dort 315 Pixel. Bei Mozilla (1.7) und Firefox (0.9.1) jedoch wird die Höhe nicht entfernt so dargestellt wie gewünscht. Die innere Fensterhöhe ist bei ca. 240 Pixeln. Kann mir bitte einer sagen was da los ist?
Viele Grüße
Stefan
Hello,
Dies funktioniert beim IE (6.0). Die innere Fensterhöhe beträgt dort 315 Pixel. Bei Mozilla (1.7) und Firefox (0.9.1) jedoch wird die Höhe nicht entfernt so dargestellt wie gewünscht. Die innere Fensterhöhe ist bei ca. 240 Pixeln. Kann mir bitte einer sagen was da los ist?
Da wird dann wohl die äußere Fensterhöhe 315 Pixel betragen.
Was das W3 dazu sagt weiß ich nicht, aber da könnte man ja mal schauen.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hallo Tom,
danke für die schnelle Antwort.
Dies funktioniert beim IE (6.0). Die innere Fensterhöhe beträgt dort 315 Pixel. Bei Mozilla (1.7) und Firefox (0.9.1) jedoch wird die Höhe nicht entfernt so dargestellt wie gewünscht. Die innere Fensterhöhe ist bei ca. 240 Pixeln. Kann mir bitte einer sagen was da los ist?
Da wird dann wohl die äußere Fensterhöhe 315 Pixel betragen.
Was das W3 dazu sagt weiß ich nicht, aber da könnte man ja mal schauen.
Die äußere Fensterhöhe ist doch maximal 10 bis 20 Pixel größer. Das kommt nicht hin. Aber abgesehen davon: Wie mache ich das denn am einfachsten (ohne vorher den Browser zu ermitteln), dass es in den gängigen Browsern in etwa gleich aussieht?
Viele Grüße
Stefan
Hello,
Da wird dann wohl die äußere Fensterhöhe 315 Pixel betragen.
Was das W3 dazu sagt weiß ich nicht, aber da könnte man ja mal schauen.Die äußere Fensterhöhe ist doch maximal 10 bis 20 Pixel größer. Das kommt nicht hin. Aber abgesehen davon: Wie mache ich das denn am einfachsten (ohne vorher den Browser zu ermitteln), dass es in den gängigen Browsern in etwa gleich aussieht?
Das verblüfft mich jetzt.
Aber zur Frage: Ich habe mir da eine Methode ausgedacht (das Rad einfach nochmal erfunden), die meistens funktioniert, aber nur mit JavaScript. Da Du das Fenster aber sowieso mit JavaScript öffnest, wird das klappen.
Bring in Deinem Fenster am Rand einen Bereich unter, in den Du ein Ein-Pixel-Gif einstellst. Dieses GIF streckst Du dann auf 100%. das funktioniert ggf. nur in einer Tabelle, wqenn man auch HTML auf 100% und body auch auf 100% eingestellt hat. Nachdem das GIF geladen sit, kannst Du die tatsächliche Höhe abfragen und dann ggf. nochmals ein Resize auslösen.
Die JavaScript-Funktionen für diese schmutzige Lösung müssen aber erfahrungsgemäß im Dokument direkt enthalten sein und nicht als externes JavaScript zugeladen werden. Da kotezen manche Browser schon wieder ab. Mag auch sein, dass ich das noch nicht vernünftig "optimiert" hatte.
Ich benutze das, um ganze Seiten zu skalieren. Habe hier auch schon mehrmals danach gefragt, ob es dafür außer FLASH eine andere Möglichkeit gibt, aber nur Unverständnis und blöde Sprüche geerntet. Die JavaScript-Profis des Forums habe ich schon länger nicht mehr gesehen (als Poster). Das wäre noch 'ne Chance...
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Bring in Deinem Fenster am Rand einen Bereich unter, in den Du ein Ein-Pixel-Gif einstellst. Dieses GIF streckst Du dann auf 100%. das funktioniert ggf. nur in einer Tabelle, wqenn man auch HTML auf 100% und body auch auf 100% eingestellt hat. Nachdem das GIF geladen sit, kannst Du die tatsächliche Höhe abfragen und dann ggf. nochmals ein Resize auslösen.
Wenn du ein bild auf 100% setzt wird es so gross wie das Eltern element.
Ich benutze das, um ganze Seiten zu skalieren. Habe hier auch schon mehrmals danach gefragt, ob es dafür außer FLASH eine andere Möglichkeit gibt, aber nur Unverständnis und blöde Sprüche geerntet. Die JavaScript-Profis des Forums habe ich schon länger nicht mehr gesehen (als Poster). Das wäre noch 'ne Chance...
Echt. Auf meiner Seite ist (zumindest Testweise) ein Skript http://home.arcor.de/struebig/computer/javascript/exp/test/popup.htm
Das Problem ist, das es einfach nicht für alle Browser geht. Jeder Browser hat über die größe eines fensters unterschiedliche Vorstellungen (selbst einzelne versionen des IEs), insofern scheint es keine Lösung zu geben.
Struppi.
Hello Struppi,
sorry, an Dich habe ich gar nicht gedacht. Dabei habe ich mir doch schon viel Anregungen und Lösungen bei Dir geholt.
Die JavaScript-Profis des Forums habe ich schon länger nicht mehr gesehen (als Poster). Das wäre noch 'ne Chance...
Echt. Auf meiner Seite ist (zumindest Testweise) ein Skript http://home.arcor.de/struebig/computer/javascript/exp/test/popup.htm
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hi,
Die äußere Fensterhöhe ist doch maximal 10 bis 20 Pixel größer.
*Huch*. Also bei mir sind das etwa hundert Pixel. Schließlich fressen Menü-, Adress- und all die anderen Leisten auch noch Platz. Das ist auch der Hauptgrund, weshalb ich Fenstern, die eine andere als die von mir gewünschte Größe verwenden wollen, mit Skepsis begegne. Bei mir passen die Inhalte meist nicht mehr hinein ;)
Viele Grüße,
Bubax
Hi,
Die äußere Fensterhöhe ist doch maximal 10 bis 20 Pixel größer.
*Huch*. Also bei mir sind das etwa hundert Pixel. Schließlich fressen Menü-, Adress- und all die anderen Leisten auch noch Platz.
Werden Locationbar und Menubar mitgezählt, auch wenn diese nicht dargestellt werden (s. loctionbar=no,menubar=no)? Das würde dann den Unterschied erklären.
Viele Grüße
Stefan
Hi,
Die äußere Fensterhöhe ist doch maximal 10 bis 20 Pixel größer.
*Huch*. Also bei mir sind das etwa hundert Pixel. Schließlich fressen Menü-, Adress- und all die anderen Leisten auch noch Platz.
Werden Locationbar und Menubar mitgezählt, auch wenn diese nicht dargestellt werden (s. loctionbar=no,menubar=no)?
Nein selbstverständlich nicht. Aber wer spricht davon, daß sie nicht dargestellt werden? Ich mag meine Leisten, so wie sie sind, und lasse sie mir auch durch loctionbar=no,menubar=no nicht nehmen. Das wäre doch belästigend ;)
Viele Grüße,
Bubax
Hi,
Werden Locationbar und Menubar mitgezählt, auch wenn diese nicht dargestellt werden (s. loctionbar=no,menubar=no)?
Nein selbstverständlich nicht. Aber wer spricht davon, daß sie nicht dargestellt werden? Ich mag meine Leisten, so wie sie sind, und lasse sie mir auch durch loctionbar=no,menubar=no nicht nehmen. Das wäre doch belästigend ;)
Na, ich spreche davon. Hier ein Auszug aus meinem ersten Posting:
NewWindow = window.open("test.htm","test","width=790,height=315,menubar=no,resizable=no,locationbar=no");
Irgendwie kapier ich nicht, was Mozilla und Firefox bei mir da veranstalten. Ca. 15 Pixel Unterschied wären in meinem Fall kein Problem, aber 75 Pixel schon, zumal die Scrollbar ja auch nicht dargestellt werden soll - Belästigung hin oder her.
Viele Grüße
Stefan
Hi,
Irgendwie kapier ich nicht, was Mozilla und Firefox bei mir da veranstalten. Ca. 15 Pixel Unterschied wären in meinem Fall kein Problem, aber 75 Pixel schon, zumal die Scrollbar ja auch nicht dargestellt werden soll - Belästigung hin oder her.
Ich hab's noch mal mit meinem Firefox getestet - und war erst irritiert: Bei meinem ist die Innengröße trotz aller Leisten nur minimal kleiner als beim IE.
Der Grund dafür ist dieser: Es wird nicht erlaubt, zu kleine neue Fenster zu öffnen. Diese Eigenschaft ist IIRC erst bei einer der letzten Versionen eingeführt worden. Ich konnte auf die Schnelle aber nicht die entsprechende Einstellung finden.
Wenn ich jetzt mit resizeTo die Größe auf die von Dir gewünschte presse, dann passiert genau das, was ich erwartet hatte: Die "korrekte" Außengröße wird gewählt, der Inhalt nimmt weniger als die Hälfte der Fensterhöhe ein.
Diese Methode anzuwenden steht Dir frei. Ich rate jedoch davon ab, da die gewöhnliche Antwort auf ein Fenster, das sich mit Gewalt unzugänglich machen möchte, ein [STRG]+[w] bzw. [Alt]+[F4] sein sollte.
Viele Grüße,
Bubax
Hi,
Der Grund dafür ist dieser: Es wird nicht erlaubt, zu kleine neue Fenster zu öffnen. Diese Eigenschaft ist IIRC erst bei einer der letzten Versionen eingeführt worden. Ich konnte auf die Schnelle aber nicht die entsprechende Einstellung finden.
Wenn ich jetzt mit resizeTo die Größe auf die von Dir gewünschte presse, dann passiert genau das, was ich erwartet hatte: Die "korrekte" Außengröße wird gewählt, der Inhalt nimmt weniger als die Hälfte der Fensterhöhe ein.
Danke, das hat mir doch weitergeholfen. Habe es mit window.resizeTo() probiert und die Darstellung in Firefox, Mozilla und IE ist ungefähr gleich. Trotzdem ist mir nicht ganz klar, was da vorher los war. Ein Fenster in der Größe 790x315 px ist doch nicht besonders klein.
Viele Grüße
Stefan
Danke, das hat mir doch weitergeholfen. Habe es mit window.resizeTo() probiert und die Darstellung in Firefox, Mozilla und IE ist ungefähr gleich. Trotzdem ist mir nicht ganz klar, was da vorher los war. Ein Fenster in der Größe 790x315 px ist doch nicht besonders klein.
Wie schon erwähnt - ich hab bei meinem Skript ewig rumprobiert, aber keinen Weg gefunden in allen Browsern die Anzeigefläche Pixelgenau hinzukriegen. sowohl open als auch resizeTo führen zu unterschiedlichen Ergebnissen.
Struppi.
Hi,
Trotzdem ist mir nicht ganz klar, was da vorher los war. Ein Fenster in der Größe 790x315 px ist doch nicht besonders klein.
Doch - bei mir schon. Da paßt gerade mal eine fette Überschrift hinein ;)
Meine *persönlichen* Erfahrungswerte für minimale Fenstergrößen, die *ich* nutzen möchte:
Breite: 640px (also bei mir die halbe Bildschirmbreite)
Höhe: 300px (innen - gibt für die Außenmaße also einen Richtwert von ca. 500px)
Das bezieht sich aber nur auf meine persönlichen bookmarklets. Seiten Anderer sollten sich IMHO an meine Vorgaben anpassen.
Viele Grüße,
Bubax