Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Sostituzione evento windows.onLoad

    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 &copy;</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>

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    per curiosità
    che cosa vorresti fare esattamente?

    che cosa dovrebbe succedere al resize della finestra?
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  3. #3
    una volta calcolato altezza e larghezza le andrò a inserire nei campi del css. Lo so è una cagata perchè tu dici, lo puoi fare benissimo con la proprietà auto di css, ma devo farlo per un progetto scolastico e a quanto pare il prof lo vuole così.

  4. #4
    Allora, nessuno ha idea di come si dichiari una funzione per la gestione dell'evento onload o dell'evento onresize di window??

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.