Newsgroup: it.comp.lang.javascript
Titolo: Mozilla che passione

Premesso che per me firefox funziona molto meglio di IE ho un piccolo 
problema.
In un layer inserisco dinamicamente con javascript(DOM)  una table con 
tot righe di altezza variabile il comport. è diverso in IE e Fir
IE il layer si allunga per contenere la tabella
Fir il layer rimane alle sue dimensioni originali e non potendo sapere a 
priori la sua altezza ...non si impagina
HELP

 priori la sua altezza ...non si impagina
Cosě su due piedi, non saprei dirti: se č realmente cosě, non vedo molte
vie d'uscita. Ma prova a pubblicare la pagina online e a postare qui l'url,
magari a me (o a qualcun altro) viene in mente una soluzione o un'idea
alternativa.
-- 
Ro!

 Fir il layer rimane alle sue dimensioni originali e non potendo sapere a 
la butto li ma non so se funziona...
prima cosa se non l'hai fatto, setta all'iFrame STYLE="overflow: auto" 
così anche se non ci sta almeno con le barre di scorrimento lo puoi 
vedere tutto. poi prova sta cosa:
var table = document.getElementById(idTable);
var h = table.boxObject.height;
var w = table.boxObject.w;
var frame = document.getElementById(idFrame);
frame.setAttribute('width', w);
frame.setAttribute('height', h);
e a sto punto visualizzi la tabella.
Ma come ti ho detto non sono certo funzioni.
Ivan

 priori la sua altezza ...non si impagina
Mhm. Da il comportamento che illustri parrebbe che il layer di cui parli ha
l'attributo "height" impostato, il che significa che IE lo tratta come se
fosse "min-height" (che non supporta), mentre Firefox lo tratta esattamente
per quello che è.
Se è come dico, sostituendo "height" con "min-height" su firefox dovresti
notare che si comporta esattamente come IE fa con "height".
In tal caso il problema è risolvibile in due modi: o tramite i commenti
condizionali di IE in modo da impostare height solo su tale browser e
min-height sugli altri:
<style type="text/css">
	#yourlayerID{
		min-height:320px;
	}
</style>
<!--[if IE]>
	<style type="text/css">
		#yourlayerID{
			height:320px;
		}
	</style>
<![endif]--> 
L'ho scritto al volo, non l'ho testato.
Puoi trovare informazioni sui commenti condizionali su questo NG, su MSDN o
tramite Google.
Oppure tramite il piccolo hack sui CSS come segue:
#yourlayerID {
	min-height: 320px;
	height: auto !important;
	height: 320px;
}
Al momento quest'ultimo non posso provarlo su IE7b2 (non sono in ufficio),
e dato che hanno corretto molti dei "bug" sui CSS delle precedenti
versioni, può darsi che quest'ultimo hack non funzioni come dovrebbe. In
caso posso dartene la certezza domattina, se non hai modo di provare
autonomamente.
Ovviamente ammesso e concesso che le mie supposizioni iniziali sul tuo
codice siano corrette, dato che non ho avuto modo di vederlo.
-- 
"When you have eliminated the impossible, whatever remains,
however improbable, must be the truth."

Ivan Marcialis ha scritto:

Purtroppo la propietà boxObject non esiste non so ...

ZER0 ha scritto:

Non funziona... se setto min-height il layer diventa oblungo..postare il 
codice è un pò complesso però questo è l'estratto
parte css
< ...
.box {
		float: left;
		padding: 0px;
		width: 100px;
   		height: 100px;
		margin: 5px;
		background-color: #eee;
		z-index: 1;
 
	}
#boxHandle {
	position: absolute;
	bottom: -153px;
	right: -10px;
	overflow: visible;
	left: 550;
	top: 300;
	}
...>
<...
function crea tabella (col_name,displays) {
         if (window.navigator.userAgent.indexOf("MSIE") > -1)
         var classe="className";
         else var classe="class";
         var mybody=getObjectFromID("note");
         while (mybody.childNodes[0])
		mybody.removeChild(mybody.childNodes[0]);
         mytable = document.createElement("TABLE");
	mytablebody = document.createElement("TBODY");
	mycurrent_row=document.createElement("TR");
.....
creo tabella
...
alla fine volevo settare width ed height??
io faccio così
	var cont=getObjectFromID("boxHandle");
         var h_t=(displays[0].length*20)+70;
         cont.style.height=h_t+'px';
         cont.style.width='400px';
         cont.style.top='20px';
ma come è chiaro non posso sapere quanto spazio occupa la tabella a priori??
}
...>

 ma come è chiaro non posso sapere quanto spazio occupa la tabella a priori??
Ehm, non ti ho capito. Sarà il "ma come" ed i punti interrogativi alla fine
che mi confondono sul tono della domanda/affermazione. :)
-- 
Gesù una volta ha moltiplicato i pani e i pesci. Chuck Norris ha diviso i
pani, aggiunto i pesci, sottratto le lische e inventato il tramezzino al
salmone.

Grazie per  i consigli , alla fine ho fatto così:
non ho specificato la width ed height nel css e nel layer ho impostato 
min-width
min-height
Adesso OK