Newsgroup: it.comp.lang.javascript
Titolo: Richiamare funzione JS

Salve a tutti.
Domanda da principiante.
E' possibile richiamare da web una funzione javascript?
Il problema é questo:
Dopo aver caricato una pagina, é possibile selezionare una riga (di
diverse righe) che richiama una funzione interna di JS ed avere un
output a video.
Vorrei sapere se é possibile caricare la pagina facendo finta di aver
premuto questa selezione, ma non so come fare.
Potete aiutarmi?
Grazie

sergio59 ha scritto:

Ma scusa, tu sai già che funzione vuoi lanciare?
Perchè se sì basta impostare nel file dello script
window.onload=funzionechevoglio();
Marco

 window.onload=funzionechevoglio();
senza le parentesi
-- 
"Ti sei salvato
 o sei entrato in banca pure tu?"
									    A.V.


wrote:

No.
Si tratta di questo.
Se la pagina viene caricata semplicemente richiamandola da browser
allora deve fare l'onload normale.
Se invece passo dei parametri, deve andare ad una funzione che
richiama una serie di dati.
Per capirci:
si tratta di visualizzare delle informazioni XML.
Se la pagina viene caricata normalmente, visualizza le informazioni in
maniera generale inserendole in un form.
Quando si preme il mouse in una riga, visualizza le informazioni in
modo più dettagliato.
Vorrei fare in modo che, se passo una di queste informazioni (ad
esempio inserito in un link) visualizzi queste altre informazioni
contenute nel file XML.
Se vuoi vedere la cosa, guarda al sito 
www.binapg.it/quake.htm
Quando apri, visualizza le informazioni generali.
Il file XML utilizzato, é leggibile con RSS.
Se utilizzi un RSSReader, vorrei che venga indirizzato
all'informazione diretta.
Grazie

 modo più dettagliato.
ricaricando la pagina? in che modo? via post o via get?
-- 
"qualcuno è andato per età
 qualcuno perchè già dottore
 e insegue una maturità, si è sposato, fa carriera
 ed è una morte un po' peggiore"
									    F.G.

 ricaricando la pagina? in che modo? via post o via get?
No.
Se guardi il sito, vedrai che non viene ricaricata nessuna pagina.
Vengono semplicemente passate ad una funzione l'item da visualizzare.


 Vengono semplicemente passate ad una funzione l'item da visualizzare.
mi spiace, ma allora non capisco proprio dove stia il problema: onclick
chiami la tua funzione ...
-- 
"Non sai che ci vuol scienza
 ci vuol costanza
 ad invecchiare senza maturità"
									    F.G.

Partiamo con ordine.
Se richiami la pagina web (
www.binapg.it/quake.htm
) c'é chiaramente
l'istruzione onload che richiama il caricamento della pagina
(googlemap, file xml ecc) creando una lista di informazioni.
Se clicchi sopra una di queste informazioni, si apre un fumetto dove
ci sono ulteriori informazioni.
Vorrei fare in modo di richiamare dall'indirizzo web di un browser
(fermo restando il caricamento generale della pagina), una di queste
informazioni in modo automatico.
Per intenderci:
Se vai sul sito e ti posizioni con il mouse sopra una di queste
informazioni, vedrai che compare in basso questa scritta:
javascript:navi.load(numero)
Ecco, questa é l'informazione xml che chiedo al browser con il mouse.
Essendo il file delle informazioni in formato xml, é possibile
leggerlo anche con un rss reader.
Vorrei inserire su questo file il link per poter fare in modo che
venga caricata QUESTA informazione in modo che sia possibile poterla
richiamare anche direttamente da browser.

 Partiamo con ordine.
[CUT]
Non capisco molto e non so aiutarti, sorry. sentiamo gli altri.
-- 
"Emancipate yourselves from mental slavery;
None but ourselves can free our minds"
									    B.M.


wrote:

Grazie comunque

 informazioni in modo automatico.
[..]
Se ho ben capito, qualcosa tipo:
window.onload=function(){
	/*
		caricamento generale di: "googlemap, file xml ecc"
	*/
	var qid = +window.location.search.replace(/\?qid=(\d+)$/,"$1");
 
	if ( !isNaN(qid) ){
		navi.loadQuake(qid);
	}
}
URL di esempio:
 
http://www.binapg.it/quake.htm
	/* comportamento normale */
 
http://www.binapg.it/quake.htm?qid=16
 
	/* carica "27 ott 2007 05.30.49 UTC Ml 5.1" */
 
Ammesso e concesso che abbia capito bene e che non vi siano errori,
dato che l'ho scritto al volo e di corsa.
-- 
~ "Viviamo dei vuoti lasciati da qualcun'altro."

 	var qid = +window.location.search.replace(/\?qid=(\d+)$/,"$1");
mi ha risposto che non ricarica la pagina e che quindi non usa nè get nè
post ... (non ho guardato il sito però)
-- 
"Voi abili a tenere sempre un piede qua e uno là
 avrete un avvenire certo in questo mondo qua
 però la dignità
 dove l'avete persa?"
									    V.R.


Si, perfetto, hai capito.
Il problema adesso é dove metterlo.
Chiaramente viene caricata la pagina HTML che richiama lo script.
Sulla pagina HTML c'é l'istruzione <body onload="init()"
onunload="GUnload()">
e questa la funzione init
function init()
{
  navi = powerQuakesNavigator("map");
  navi.load("/bina_quake.xml");
}
Potrei trasformarla in
function init()
{
  var qid = +location.search.replace(/\?qid=(\d+)$/,"$1");
  navi = powerQuakesNavigator("map");
  navi.load("/bina_quake.xml");


 }
Ammesso e concesso che il "load" dell'oggetto "navi" sia sincrono, e
non asincrono: nel secondo caso rischierebbe di non funzionare, dato
che la mappa potrebbe non essere stata ancora caricata.
Quindi, il "navi.loadQuake" devi invocarlo solo quando sai per certo
che il sistema è già pronto. Sicuramente chi ha implementato le API,
se la richiesta è asincrona, avrà implementato l'uso di una funzione
di callback al termine del caricamento dell'XML.
Devi andarti a vedere la reference delle API, per capire il modo con
cui è possibile associare una funzione al termine del caricamento, e
lì impostare il codice che recupera l'id e carica l'item specifico.
-- 
~ "Tutto quello che devi fare è chiamarmi;
sarò tutto quello di cui hai bisogno" (Peter Gabriel)

 (non ho guardato il sito però)
Probabilmente sarebbe stato più chiaro quello che voleva ottenere.
In pratica c'è una lista di elementi: cliccando su un elemento, se
ne vede il dettaglio. Non c'era quindi modo, di ottenere subito il
dettaglio di un item se non cliccandoci sopra.
L'OP voleva, invece, avere la possibilità avere un URL diretto che
puntasse ai dettagli di un dato item.
-- 
~ "Gesù ha avuto la sfortuna che su quello che ha detto ci hanno
costruito sopra una religione."
(Josè Saramago)

Grazie a tutti.
Inserendo nella funzione queste istruzioni, funziona egregiamente.....