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:
in questo caso la funzione pushbutton va a sostituirsi all'evento onclick del pulsante.codice:<input type="button" name="bottone1" value="click" onclick="pushbutton">
io però voglio farlo sull'oggetto windows, che quindi non viene dichiarato esplicitamente. Ho trovato alcuni script in internet che fanno in questo modo:
però dichiarandole così la funzione non mi parte al resize della finestra! É un problema del mio script o c'è qualcosa di sbagliato nella teoria??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>
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>

Rispondi quotando