screen.availwidth
rushan
- javascript
0 Rico0 Sven Rautenberg0 Ronny0 rushan
Hallo,
ich möchte folgende JS-Funktion benutzen:
<script language="JavaScript">
<!--
function fensterauf()
{
var hoch=screen.availwidth/4*3;var breit=screen.availheight/4*3;
//alert (hoch + " " + breit);
window.open("datei.htm,"Name","width=breit,height=hoch,scrollbars=yes,resizable=yes");
}
//-->
</script>
Aufruf:
<td width="100%" align="left"><a href="javascript:fensterauf()" style="color: rgb(0,128,128)">Fenster in Dreiviertelgröße</font></a></td>
Das alert funktioniert, aber das Benutzen der Varablen nicht, d.h. das Fenster öffnet sich zwar, aber nicht in der richtigen Größe. Ebenso wenig funktioniert: width = screen.availwidth/4*3 (ohne Variabeln). Was mache ich falsch??
Danke für Eure Antworten!
Tja, das ist der Unterschied zwischen Netscape und IE hohoh...
ich sag nur "viele Standards sind kein Standard"
versuch mal das und pass das dann an:
//alert (navigator.appName);
if(navigator.appName.indexOf("Microsoft")!=-1){ //ie
ysize=document.body.offsetHeight;
xsize=document.body.offsetWidth;
}
else{
ysize=window.innerHeight;
xsize=window.innerWidth;
}
//alert(xsize+","+ysize);
Cu Rico
Moin!
window.open("datei.htm,"Name","width=breit,height=hoch,scrollbars=yes,resizable=yes");
Javascript ersetzt Variablennamen innerhalb von Anführungszeichen nicht - warum auch, es könnte ja auch der _Text_ "breit" und "hoch" gemeint sein. Das macht bei window.open zwar keinen Sinn, aber anderswo doch.
Beim Alert hast du es doch auch geschafft, zwischen die Variablen ein Leerzeichen zu setzen. Genauso funktioniert es hier.
- Sven Rautenberg
Hi,
schau mal in die Zeile:
window.open("datei.htm,"Name","width=breit,height=hoch,scrollbars=yes,resizable=yes");
Du solltest das so schreiben:
window.open("datei.htm,"Name","width="+breit+",height="+hoch+",scrollbars=yes,resizable=yes");
Im String funktionieren halt keine Variablen.
Grüße,
Ronny
Danke, so geht's!
Ist schon nervig, dass alle Programmmiersprachen, Variablen anders ansprechen!
Werde mich bei Gelegenheit mal revanchieren und selbst eine Frage beantworten.