Newsgroup: it.comp.lang.javascript
Titolo: finestre di help

cliccando su un certo link vorrei che mi si aprisse una finestra che
contiene un piccolo help, una finestra che non sia una nuova "istanza" di
netscape (quello che si ottiene con il comando target="_blank") ma che sia
simile alle finestra di pubblicita' che si aprono automaticamente quando si
lancia una qualsiasi pagina di geocities (cieo' senza toolbar e statusbar)
come si fa?
grazie in anticipo
Alessandra


wrote:

Ciao! Anche se sono agli inizi con JS tenterò di rendermi utile...
<html>
<head>
<--
<script language="JavaScript">
function WinOpen()
{
msg=open("","DisplayWindow","toolbar=no, directories=no, menubar=no");
// qua ci piazzi tutti i parametri che vuoi della nuova finestra
//ovvero: Toolbar, location, directories, status, menubar, scrollbars,
//resizable, copyhistory, width=pixel, height=pixel
msg.document.write("<head><title>Nuova Finestra");
msg.document.write("</title></head>");
msg.document.write("<center>ecco la nuova finestra</center>");
//qua inserisci il codice sorgente della nuova pagina
}
-->
</script>
</head>
<body>
<form>
<input type="button" name="Button1"
value="Crea una nuova finestra" onclick="WinOpen()">
</form>
</body>
</html>
Spero che fosse questo quello che ti serviva (e, soprattutto, spero di
averlo scritto correttamente, visto che sono di corsa)
fammi sapere se è servito davvero
ciao
Gundam

grazie gundam!!!!
e' proprio quello che stavo cercando...
pero' ho un problemino: non riesco a stabilire la grandezza della
finestra... che c'e' di sbagliato in questa linea di codice?
msg=open("","DisplayWindow","toolbar=no, directories=no, menubar=no,
width=100, height=100");
ciao e grazie ancora
Alessandra

ancora sulle finestre...
come posso fare a caricare questa finestra (vedi codice postato da gundam)
all'apertura del documento? ho provato ad associare la funzione all' onLoad
ma mi apre 2 volte il documento corrente e scrive 2 volte lo stesso codice
nella nuova finestra :-(
e' possibile poi far aprire questa finestra cliccando su un link "fittizio",
che cioe' non punta a niente ma apre solo la finestra?
qualcosa del tipo:
<A HREF="nuovafinestra.htm" target"nomedellanuovafinestra">link</A>
l'ideale sarebbe questo:
apro la finestra all' onLoad con un testo standard, poi ogni volta che
clicco su un link modifico il contenuto di questa pagina...
e' possibile?
mi sa tanto di no...
ciao e grazie
Alo!



ciao!
hai provato a specificare la grandezza in pixel?
width=100px
se non funziona fammelo sapere che cosě provo a escogitare
qualcos'altro
Gundam

Ri-Ciao!
questa volta so di NON avere la risposta che ti serve, al massimo
posso darti il comando per il link fittizio alla fiestra
<a onclick="WinOpen()">Link alla finestra</a>
per il resto... ci devo rimuginare un po' di più
Gundam

spero di non aver mandato questo messaggio 2 volte...
in ogni caso l'errore era nell'aver stravolto l'odine con cui vanno
messi gli argomenti della funzione open()
ciao
Alessandra

mi sa tanto di no...
Come no??
Certo che è possibile.
NB: L'esempio riportato funziona su Explorer, su Navigator sarebbe forse da
rivedere.
Allora, la pagina principale ha uno script del genere:
function apriFinestra() {
  satellite=open("default.htm","sat","width=300, height=100, toolbar=no,
directories=no, menubar=no, status=no, scrollbars=no, resizable=no") ;
satellite.focus() ;
return ;
}
function cambiaUrl(nomeFile)  {
   satellite.location = nomeFile ;
   satellite.focus() ;
   return ;
}
Ok, passiamo allo HTML:
<BODY onLoad="apriFinestra()">
<CENTER><BR>
<P>Testo della pagina principale</P>
<DIV onClick="cambiaUrl('altro.htm')">Clicca qui sopra per cambiare url del
satellite.</DIV>
</BODY>
In pratica: appena caricato tutto il body, viene eseguita la funzione
apriFinestra, che crea una nuova finestra con gli attributi specificati (o
meglio SENZA, visto che abbiamo messo tutto su "no"), la chiama "sat" e va a
prendere i contenuti nel file "default.htm".
Questa nuova finestra viene inoltre associata ad una variabile, che ho
chiamato "satellite", in pratica abbiamo un nuovo oggetto.
Dopo di che, ogni volta che da qualche elemento della pagina si chiama la
funzione cambiaUrl, questa provvede ad alterare il nome del file da
visualizzare dentro il satellite,
nome che devi inserire come argomento della funzione stessa: nel mio esempio
ho richiamato la funzione mettendo tra parentesi "altro.htm", di conseguenza
la funzione viene eseguita tenendo conto che nomeFile = "altro.htm", con
quello che ne segue.
Così, mi sembra abbastanza comodo, la funzione la scrivi solo una volta...
Attenzione: è molto importante usare il metodo .focus(),  perché altrimenti
la url del satellite viene alterata, ma il satellite rimane nascosto dietro
la finestra principale e il navigatore non si rende conto di nulla, a meno
che non vada lui stesso ad attivare il satellite richiamandolo dalla barra
di windows.
Ah, un'ultima cosa: tra gli attributi che puoi mettere dentro la funzione
open, ci sono anche screenX e screenY, con cui puoi piazzare il vertice
superiore sinistro del satellite dove ti pare (espresso in
pixel)...ovviamente non specificando, il satellite si piazza su (0,0), come
nel mio esempio.
Fammi sapere...sono di fretta e ho paura di aver scritto qualche cavolata!
maghetto