Variablen im window.open Kommando verwenden
Norbert
- javascript
0 wahsaga0 Dieter Raber
Hallo!
Möchte im Befehl window.open("datei.html","name","attr") Variablen verwenden! Genauer gesagt, berechne ich anhand der Bildschirmbreite und -höhe sowie der Fensterbreite und -höhe die x und y-Abstände so, dass das Fenster genau in der Mitte geöffnet werden soll. Diese Werte werden Variablen zugewiesen, und sollen anschließend bei den window.open-attributen screenX und screenY verwendet werden!
Hier der Code-Ausschnitt:
function openHomepage() {
screenOffsetTop = parseInt((screen.width - 900) / 2);
screenOffsetLeft = parseInt((screen.height - 637) / 2);
if (screen.width > 1000) {
var newWindow = window.open("window.html","mainpage","width=900,height=637,screenX=screenOffsetLeft,screenY=screenOffsetTop");
if (window.closed == false) {
window.opener = top;window.self.close();
}
newWindow.focus();
} else {
alert("Auflösung zu klein");
}
}
Kann mir bitte jemand helfen!
Danke im vorraus.
hi,
Möchte im Befehl window.open("datei.html","name","attr") Variablen verwenden! Genauer gesagt, berechne ich anhand der Bildschirmbreite und -höhe sowie der Fensterbreite und -höhe die x und y-Abstände so, dass das Fenster genau in der Mitte geöffnet werden soll.
relativ unsinnig.
da mein browser tabbed browsing unterstützt, gibt es kein neues "fenster", sondern nur ein neues tab (wenn überhaupt).
und das mittig in bezug auf den bildschirm positionieren zu wollen, ist unfug - den zu diesem muss meine browserinstanz absolut keinen bezug haben.
Diese Werte werden Variablen zugewiesen, und sollen anschließend bei den window.open-attributen screenX und screenY verwendet werden!
[...] Kann mir bitte jemand helfen!
wo ist dein ansatz zur problemlösung?
oder willst du das fertig eingebaut bekommen?
nope, sorry.
beschäftige dich mit javascript-grundlagen.
in diesem falle sollte http://de.selfhtml.org/javascript/sprache/variablen.htm mit seinem beispiel schon ausreichend sein.
gruß,
wahsaga
Hallo Norbert,
Den Code fuer dein Vorhaben kannst du dir auf meiner Webseite generieren.
Ob Du allerdings Besucher vergraulen willst, die eine 'zu kleine' Aufloesung fahren, musst du selbst entscheiden. Zudem solltest Du dir bewusst machen, dass die Aussagekraft von Aufloesungen sehr begrenzt ist. Beispielweise koennte jemand zwei Monitore haben oder das Browserfenster nicht maximiert haben, dann wird's eng.
Gruß,
Dieter
Hallo Norbert,
Den Code fuer dein Vorhaben kannst du dir auf meiner Webseite generieren.
Ob Du allerdings Besucher vergraulen willst, die eine 'zu kleine' Aufloesung fahren, musst du selbst entscheiden. Zudem solltest Du dir bewusst machen, dass die Aussagekraft von Aufloesungen sehr begrenzt ist. Beispielweise koennte jemand zwei Monitore haben oder das Browserfenster nicht maximiert haben, dann wird's eng.Gruß,
Dieter
Hallo Dieter!
Danke für deine rasche Antwort!
Auf die Besucher, die weniger als 1000px Bildschirmbreite haben kann ich verzichten, da dies heutzutage nicht mehr wirklich oft vorkommt; außerdem wird bei mir sowieso ein Fenster mit einer Breite von 900px geöffnet, die können dann nicht mehr alles sehen.
Mit den Monitoren: Ich habe selbst zwei Monitore, und habe diese Fälle getestet, man kommt dann nicht unter die Mindestpixelbreite und es wird halt dann am linken Bilschirm zentriert angezeigt.
Wegen dem nicht-maximierten Browserfenster: Dies ist bei meiner Abfrage egal, da die Bilschirmauflösung abgefragt wird, und nicht die Browserfensterbreite.
Habe alle möglichen Testfälle durchprobiert, hab' nur das Problem dass Opera die x- und y-Koordinaten vom internen 0-Punkt aus rechnet.
Ansonsten IE, Firefox alles wie gewünscht anzeigen.
Also nochmal herzlichen Dank!
lg norbert
Hi,
Auf die Besucher, die weniger als 1000px Bildschirmbreite haben kann ich verzichten, da dies heutzutage nicht mehr wirklich oft vorkommt; außerdem wird bei mir sowieso ein Fenster mit einer Breite von 900px geöffnet, die können dann nicht mehr alles sehen.
http://www.w3schools.com/browsers/browsers_stats.asp 29% mit 800*600.
http://www.thecounter.com/stats/2005/February/res.php 28% mit 800*600
cu,
Andreas