Newsgroup: it.comp.lang.javascript
Titolo: Ancora Frames

Ciao e scusate l'ignoranza.
Non so se è javascript comunque...
Mettete che io ho un sito con due frames.
strutturato così:
           index.html
           /              \
         /                  \
       /                      \
frame1.htm         frame2.htm
                               /
                             /
                       child1.htm
quindi se uno digita www.xxx.yyy/index.html si aprono frame1.htm e
frame2.htm
Esiste un modo di far aprire, invece che le 2 frame principali, una
principale e una secondari,come frame1.htm e child1.htm direttamente da un
indirizzo?Più o meno dovrebbe risultare così:
              index.html
frame1.htm        child1.htm
magari dando un indirizzo tipo www.xxx.yyy/index.html#child1.htm o qualcosa
di simile
Scusate se non sono stato molto chiaro!
Per risposte togli SPALMATUAMADRE
¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿
                    ^_^                                   ^_^
                                Ferrara Carmelo
 
ranma...@iol.it
       Se ti interessano midi  e immagini di manga Jappo
      Firma anche tu la Petizione Anti-Censura negli anime
  vai in 
http://www.geocities.com/tokyo/towers/4689
¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿?¿

Carmelo ranma wrote:

Ciao e scusate l'ignoranza.

Non so se è javascript comunque...

Mettete che io ho un sito con due frames.

strutturato così:

           index.html

           /             
\

         /                 
\

       /                     
\

frame1.htm         frame2.htm

                              
/

                            
/

                      
child1.htm

quindi se uno digita www.xxx.yyy/index.html si aprono frame1.htm e

frame2.htm

Esiste un modo di far aprire, invece che le 2 frame principali, una

principale e una secondari,come frame1.htm e child1.htm direttamente
da un

indirizzo?Più o meno dovrebbe risultare così:

             
index.html

frame1.htm        child1.htm

magari dando un indirizzo tipo www.xxx.yyy/index.html#child1.htm o
qualcosa

di simile

Scusate se non sono stato molto chiaro!

    Abbastanza chiaro, credo...

Il parametro, in HTML, si passa con ? non con # quindi la pagina da
aprire la passi con:

www.mioserver.com/frameset.html?pagina_a_parametro.html


Eccoti uno script fatto al volo che sfrutta questo principio; i files
sono:

frameset.html       che contiene script
e frameset, appunto

frame1.html         il frame
"fisso"

frame2.html         il frame
"standard", ma modificabile

parametro.html    il frame da inserire come parametro


L'URL per aprire il frame 2 "modificato" è 
www.mioserver.com/frameset.html?parametro.html


Ovviamente la cosa può essere migliorata dando la possibilità
di gestire più parametri per variare tutti i frames a seconda dei
casi, discriminare i browsers, ecc., ma questa è palestra per te...


frameset.html


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">


<HTML>


<HEAD>


<TITLE>Frames variabili</TITLE>


</HEAD>


<SCRIPT LANGUAGE="JavaScript">


var indirizzo = new String(self.location);


urlLength = indirizzo.length;


startAt = indirizzo.indexOf("?");


parametro = indirizzo.substring((startAt + 1),urlLength);


document.writeln("<FRAMESET  COLS='50%,*'>");


document.writeln("<FRAME NAME='sx' SRC='frame1.html'
MARGINWIDTH='10' MARGINHEIGHT='10' SCROLLING='auto' FRAMEBORDER='no'>");


if (startAt == -1) document.writeln("<FRAME NAME='dx'
SRC='frame2.html' MARGINWIDTH='10' MARGINHEIGHT='10' SCROLLING='auto' FRAMEBORDER='no'>");


else document.writeln("<FRAME NAME='dx' SRC='" + parametro
+"' MARGINWIDTH='10' MARGINHEIGHT='10' SCROLLING='auto' FRAMEBORDER='no'>");


document.writeln("</FRAMESET>");


</SCRIPT>


</HTML>