Newsgroup: it.comp.lang.javascript
Titolo: un click due link: come?

Esiste uno script che permetta di assegnare due link ad una sola parola? Per
esempio, da un menų a due frame, clickare e avere i frame relativi.


Prova con:
<a href="nome_della_pagina_contenente_questo_tag.htm" on
click="parent.nomeframe1.document.location.href='page1.htm';
parent.nomeframe2.document.location.href='page2.htm'">Cliccami!</a>
Dovrebbe funzionare.
NB: nel parametro href="" del tag <a> devi inserire il nome il nome
della pagina che si trova nel frame dove c'è il collegamento, puoi
anche eliminare il parametro href="" ma il teso non sarà più
evidenziato come in un normale link sebbene resti comunque cliccabile.
Saluti 
Mav
mailto:
franc...@geocities.com
http://www.geocities.com/Area51/Nebula/6143
Mav@Azzurra Interactive Network
    	 _____  _____     ___  ____  ___
 ________\::::\/::::/___ /:::||::::||:::| _______ 
 \________|::|\/|::|___ /:/|:|\::::/\:::/_______/ 
    \_____|::|__|::|__ /:/_|:|_|::| /::/_____/
       \__|::|__|::|_ /::::::|_|::|/::/___/
	 /::::\/::::\/:::\/:::\|:::::/
	 |::::||::::||:::||:::||::::/
          ¯¯¯¯  ¯¯¯¯  ¯¯¯  ¯¯¯  ¯¯¯¯
 
http://www.geocities.com/Area51/Nebula/6143
 
 mailto:
franc...@geocities.com
 
 


Visto che sono un simpaticone, 
La prima possibilità consiste nel creare un pulsante che invoca una funzione quando
l'utente vi clicca sopra. Questa funzione carica le due pagine in due frame o apre due
nuove finestre. 
<HTML>
<HEAD>
<script language="JavaScript">
<!-- 
  function loadtwo(page2, page3) {
     parent.fr2.location.href=page2;
     parent.fr3.location.href=page3;
}
// -->
</script>
</HEAD>
<BODY>
<FORM NAME="buttons">
     <INPUT TYPE="button" VALUE="2 in un clic!"
onClick="loadtwo('frtest1.htm','frtest2.htm')">
</FORM>
</BODY>
</HTML>
La funzione loadtwo() viene invocata quando si clicca sul pulsante. Due stringhe vengono
passate alla funzione. Se guardate la funzione loadtwo(), vedete che il secondo frame fr2
carica la pagina definita dalla prima stringa della chiamata di funzione. Se avete diversi
pulsanti che aprono diverse pagine potete riusare questa funzione. Dovete soltanto passare
le diverse URL (indirizzi) delle pagine. 
La seconda tecnica usa i link. Alcuni esempi in giro per Internet riportano qualcosa del
genere: 
<a href="yourlink.htm onCLick="yourfunction()">
Sembra che questa tecnica non funzioni su tutte le piattaforme, quindi non conviene
usarla. C'è comunque un altro metodo per associare uno script ad un link. Possiamo
invocare uno script Javascript nel seguente modo: 
<a href="javascript:myfunction()">Il mio link</a>
E' molto semplice e sembra funzionare con tutti i browser. Dovete soltanto scrivere
javascript: e il nome della vostra funzione come fossero un 'link'. Se invocate la
funzione 'loadtwo()' dell'esempio precedente potete aggiornare due frame con un singolo
clic su un link. 
La terza tecnica per caricare due pagine con un solo clic del mouse può essere applicata
usando i pulsanti o i link. Potrebbe essere sufficiente soltanto la seconda tecnica
mostrata prima, ma l'approccio che mostreremo ora in certi casi può essere più adatto.
Dobbiamo caricare una pagina HTML in un frame, ad esempio in questo modo: 
<a href="getfr2.htm" target"fr2">Clicca qui!</a>
Questo lo sappiamo già fare. Quello che facciamo ora è aggiungere una proprietà onLoad al
file caricato. Il file getfr2.htm dovrebbe somigliare a questo: 
<HTML>
<BODY onLoad="parent.fr3.location.href='getfr3.htm'; return true;">
bla bla bla
</body>
</html>
Naturalmente bisogna aggiungere la proprietà onLoad ad ogni documento che viene caricato
nel secondo frame. 
Se Tutto questo vi e' servito, non ringraziate solo me, ma
Stefan Koch
e Andrea Chiarelli 
 
      Vostro Umile Servitore
       ><><><><><><><><><><
 	Sigmund Shandlar
       ><><><><><><><><><><	
    «Est Sularus Oth Mithas»
    [I.C.Q. UIN: 13171216]
~ Fiat Justitia Et Pereat Mundus ~