Newsgroup: it.comp.lang.javascript
Titolo: frame e finestre: mi sento imbranata

Mi sento particolarmente incapace, visto che ancora una volta non
riesco a realizzare quanto voglio.
Sistemato il problema del menu, anche se in un modo non molto
elegante, mi rimane da completare la ricerca dei links.
Chi mi ha gia' aiutata forse si ricorda che costruivo un array di
links, dai quali estrarre al volo quelli desiderati.
Ci sono due frames:
<frameset cols="28%,*" border="0">
	<frame name="links" src="menulinks.htm" scrolling="auto">
	<frame name="risultati" src="loadlinks.htm" scrolling="auto">
</frameset>
loadlinks.htm contiene solo una scritta "caricamento in corso...".
In menulinks.htm, c'e' una funzione getlinks() che viene attivata sia
su onload del body, che alla conferma del form di selezione.
La funzione getlinks (), nei miei intenti, dovrebbe andare a scrivere
nel frame "risultati":
function getLink ()
{
	var count = 0;
	var str_naz = "";
	var str_tipo = "";
	var str_cont = "";
	var solonuovi = 0;
	var ris = parent.risultati.document;
	ris.open ();
 	ris.write ('<html><head><link rel="stylesheet"
href="stefi.css" type="text/css">');
	ris.write ('</head><body>');
	ris.write ('<h3>Risultato della selezione</h3>');
 
	solonuovi = document.sel.nuovi.checked;	
	for (i = 0; i < document.sel.naz.length; i++)
		if (document.sel.naz[i].checked)
			str_naz += document.sel.naz[i].value;
	for (i = 0; i < document.sel.tipo.length; i++)
		if (document.sel.tipo[i].checked)
			str_tipo += document.sel.tipo[i].value;
	for (i = 0; i < document.sel.cont.length; i++)
		if (document.sel.cont[i].checked)
			str_cont += document.sel.cont[i].value;
	if (str_cont != "")
		str_cont = "[" + str_cont + "]";
	var reg_cont = new RegExp (str_cont);
	count = 0;
	ris.write ('<table border="0">');
	for (i = 0; i < llink.length; i++)
	{
		if ((! solonuovi || llink[i].nuovo) &&
		    (str_naz == "" ||
str_naz.indexOf(llink[i].nazionalita) != -1) &&
		    (str_tipo == "" || str_tipo.indexOf(llink[i].tipo)
!= -1) &&
		    (str_cont == "" ||
reg_cont.test(llink[i].contenuto)))
		{
			ris.write ('<tr><td valign="top"><a
href="http://', llink[i].url, '">',
					llink[i].titolo, '</a></td><td
valign="top">',
					llink[i].descrizione,
'</td></tr>');
			count++;
		}
	}
	if (count == 0)
		ris.write ('<tr><td>Nessun risultato dalla
selezione</td></tr>');
	ris.write ('</table>');
	ris.write ('</body></html>');
	ris.close ();
}
Ora, siamo alle solite: con IE e NS tutto bene. Con Opera vedo per un
attimo il messaggio di caricamento, poi la finestra diventa bianca
(come effetto della prima write) e tale resta :-(
Mi potete aiutare?
Rimango sempre piu' spiazzata da come il lato client di Javascript
sembra essere dipendente piu' dagli umori dei programmatori che non da
specifiche precise...
Ciao, Stefi
-- 
Stefania B.     
ste...@libero.it
http://web.tiscalinet.it/angolostefania
 (aggiornato 4 settembre 2000)
Su it.hobby.vari si parla di hobbies [CREATIVI]

 specifiche precise...
Naturalmente ti riferivi ai programmatori... dei browser no? :-)))
-- 
Ciao, Riccardo
------------------------------------------------------------------------
WebMaster: ----> 
http://www.jsdir.com
 <---- (aka 
http://www.jspoint.it
)
------------------------------------------------------------------------
               Nessun traguardo è abbastanza lontano.
------------------------------------------------------------------------

Naturalmente ti riferivi ai programmatori... dei browser no? :-)))
Yes! E, tra l'altro, non solo per Javascript, ma anche per i CSS.
TopStyle indica, per ogni attributo, se fa parte di CSS1 o CSS2, e da
quali browsers e' supportato. In certi casi non so se ridere o
piangere.
