Sto scrivendo un sito in cui la prima pagina è interamente in javascript per poter avere sempre a disposizione altezza e larghezza della finestra del browser e adattare così i contenuti in modo dinamico. Ho bisogno però di aggiornare il corpo del programma (c'è una funzione che scrive il corpo) ogni volta che la finestra viene caricata/ridimensionata. Ho letto molte guide e tutte dicono che si può sostituire un'evento con una funzione ad esempio leggo in una guida:
codice:
<input type="button" name="bottone1" value="click" onclick="pushbutton">
in questo caso la funzione pushbutton va a sostituirsi all'evento onclick del pulsante.
io però voglio farlo sull'oggetto windows, che quindi non viene dichiarato esplicitamente. Ho trovato alcuni script in internet che fanno in questo modo:
codice:
<HTML>
<HEAD>
<TITLE>Resizable Applet Demo</TITLE>
</HEAD>
<BODY bgcolor=#C6C3C6 onResize="resize()" onLoad="resize()"
topmargin="0" leftmargin="0" marginwidth="0" marginheight="0">
<SCRIPT LANGUAGE="JavaScript">
function resize() {
}
window.onResize = resize;
window.onLoad = resize;
</SCRIPT>
<APPLET NAME="myApplet" CODE="SizeApplet.class" WIDTH=1600
HEIGHT=1200>/APPLET>
</BODY>
</HTML>
però dichiarandole così la funzione non mi parte al resize della finestra! É un problema del mio script o c'è qualcosa di sbagliato nella teoria??
Se non avete proprio nulla da fare questo è il codice che ho buttato giù fin'ora:
codice:
<SCRIPT language="JavaScript">
try{
function scriviCorpo() {
document.clear();
Analisi.calcolaDimensioni();
document.write("<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.0//EN'><HTML><HEAD><TITLE>Progetto XML</TITLE></HEAD>");
document.write("<BODY onResize='scriviCorpo()' onLoad='scriviCorpo()'>");
document.write("<STYLE type='text/css'>");
document.write("body {margin:0;padding:0;}");
document.write("html {margin:0;padding:0;font:100%/1.5 sans-serif;background:#fff;color:#333;}");
document.write("#header {position: absolute;width: auto;height: 80px;top: 0;right: 0;bottom: auto;left: 0;overflow: hidden;");
document.write("background:#ae9;color:#f00;border-top:1px solid #666;font-size:x-small;font-style:normal;text-align:center;}");
document.write("#header div {float:left;width:170px;height:80px;margin-right:0;background:#666;color:#fff;");
document.write("font-size:2.5em;font-weight:bold;text-align:center;line-height:2.5em;}");
document.write("#sidebar {position: absolute;width: 170px;height: auto;top: 80px;bottom: 30px;left: 0;margin:0;padding:0;overflow: hidden;background:#aaa;}");
document.write("#sidebar a:link,#sidebar a:visited {color:#fff;text-decoration:none;}");
document.write("#sidebar a:hover,#sidebar a:focus {color:#fc6;}");
document.write("#sidebar ul{margin:0;left: 0;padding:0em 0em;}");
document.write("#sidebar ul li {margin:0;left: 0;padding:0.1em 0.1em;list-style-type:none;border-bottom:1px solid #fff;}");
document.write("#sidebar span {position:absolute;bottom:0;left: 0;width: 170px;background:#fc6;color:#666;font-size:smaller;visibility:hidden;}");
document.write("#sidebar a:hover span,#sidebar a:focus span {visibility:visible;}");
document.write("#main {position: absolute;width: auto;height: auto;top: 80px;right: 0;bottom: 30px;left: 170px;overflow: auto;}");
document.write("</STYLE>");
document.write("<DIV id='header'>");
document.write("<div>Logo ©</div>");
document.write("<h1>GUIDA A XML</h1>");
document.write("</DIV>");
document.write("<DIV id='sidebar'>");
document.write("<ul >");
document.write("[*]Home <span>La home del sito</span>");
document.write("[*]Ricerca <span>Query di ricerca</span>");
document.write("[*]About <span>Informazioni sul grouppo</span>");
document.write("
");
document.write("<center>STAI UTILIZZANDO</center>
Il browser <center>"+Analisi.browser()+"</center>
sul sistema operativo <center>"+Analisi.sistemaOperativo()+"</center>");
document.write("
<center>altezza: "+height+"
larghezza: "+width+"</center>");
document.write("<noscript><h2>script non processabile</h2></noscript>");
document.write("[/list]</DIV><DIV id='main'><center>qui ci vanno caricate le pagine XML tradotte con XSLT</center></DIV>");
document.write("</BODY></HTML>");
}
var ua=navigator.userAgent || "";
var height=0, width= 0;
var Analisi = {
browser: function(){
if(document.recalc){return "Internet Explorer";}
if(window.opera){return "Opera";}
if(ua.match("WebKit")){return "Safari";}
if(window.__defineGetter__){return "Mozilla";}
if(ua.match("Konqueror")){return "konqueror";} else return "Browser non riconosciuto";
},
sistemaOperativo: function(){
if(ua.match("Windows NT 6")){return "Windows vista";}
if(ua.match("Windows NT 5.1")){return "Windows XP";}
if(ua.match("Windows")){return "Windows";}
if(ua.match("Mac OS")){return "Mac OS";} else return "Sistema Operativo non riconosciuto";
},
XMLHttp: function(){
try{
if (window.XMLHttpRequest) // Mozilla, Safari,...
{
req = new XMLHttpRequest();
if (req.overrideMimeType)
req.overrideMimeType('text/xml');
return req;
}
}
catch(err)
{
try{
return (new ActiveXObject("MSXML2.XMLHTTP"))
}
catch(err)
{
try{
return (new ActiveXObject("Microsoft.XMLHTTP"))
}
catch(err){
try{
return (new XMLHttpRequest)
}
catch(err){
return null
}
}
}
}
},
calcolaDimensioni: function(){
if(this.browser()=="Internet Explorer")
{
height = window.screen.height;
width = window.screen.width;
}
else
{
height = window.outerHeight;
width = window.outerWidth;
}
}
};
if(!window.Analisi)
{
var Analisi=function(){return new Analisi};
}
if(!window.DICO)
{
var DICO=function(){return new DICO};
}
window.onResize="scriviCorpo()";
window.onLoad="scriviCorpo()";
}catch(err){document.write("
Errore nello script: "+err.toString())}
scriviCorpo();
</script>