Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2001
    Messaggi
    209

    cambiare pagina in frame

    Ciao a tutti

    Provo a postare questa domanda sperando di riuscire a descrivere ciò che vorrei ottenere.

    Dalla home del mio sito index.html cliccando su fotografie di accede alla pagina con frame che ha queste caratteristiche:
    <frameset cols="155,*" framespacing="0" border="0" frameborder="0">
    <frame name="sommario" target="principale" src="sommario.html" scrolling="auto" noresize>
    <frame name="principale" src="diapositive.html" scrolling="auto" noresize>
    </frameset>

    Quindi nella colonna di sinistra si carica il sommario e nella colonna centrale la pagina denominata diapositive.html
    Cosa vorrei ottenere, sempre che sia possibile?
    Partendo da index vorrei far si che cliccando su alcuni links si aprisse sempre la pagina con frame, ma che nel frame centrale si aprisse la pagina corrispondente al links che ho cliccato!(azz mi sto incasinando) e non sempre la pagina diapositive.html
    esempio: su index metterei questi links:
    natura
    uccelli
    luoghi
    istanti

    cliccando su questi vorrei che si aprisse la pagina con frame e che nel frame centrale apparisse la pagina corrispondente al links cliccato e non sempre la pagina diapositive.html

    chiedo un pò di pazienza...
    comunque grazie
    a presto, ric

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2001
    Messaggi
    209
    ciao a tutti

    UP...un piccolo sforzo

  3. #3
    E' una cosa che credo tu possa gestire tramite javascript (se ho ragione e la discussione dovesse continuare, fatti spostare).

    Prova in questo modo: invece di richiamare il frameset e tentare di fargli caricare una pagina all'interno di un frame, prova a richiamare direttamente la pagina che ti interessa caricare e fai in modo che lei stessa richiami il frameset, disponendosi dove opportuno. (non so se sono stato chiaro)

    Ti posto il codice che uso per fare ciò

    Nella pagina che contiene il frameset metti un javascript per fargli disegnare il frameset (qui è un iframe, basta cambiare i tag però)
    codice:
        <script type="text/javascript" language="javascript">
    var pagdef = 'pagina1.htm'; /* qui metti la pagina che deve aprirsi normalmente nell' iframe */
    
    var pagstrin = location.search.substr(1);
    var NS4 = (document.layers) ? true : false ;
    if((location.search.substr(1)) == ''){pagina = pagdef;}
    else{pagina = pagstrin;}
    if(NS4){
    document.write('<ilayer id="d1" width="'400' height="'400'">');
    document.write('<layer id="d2" src="'+pagina+'" width="'400'"');
    document.write('height="'400'"><\/layer><\/ilayer>');}
    else{
    document.write('<iframe src="'+pagina+'" name="main"');
    document.write('width="'400'" height="'400'"><\/iframe>');}
        </SCRIPT>
    Praticamente questo dice: se mi richiami così come sono, ti carico dentro la pagina di default. E fin qui non cambia niente. (se non che il frameset viene scritto via js)

    Nella pagina che andrai a richiamare, invece, metti questo:
    codice:
    <script language="JavaScript" type="text/javascript">
    if (window.top == window.self) {
    location.href='index.htm?'+document.URL }
    </script>
    che dice: Se mi hanno richiamato direttamente e non sono dentro nessun frameset, vatti a cercare la index che contiene il frameset e sbattimi dove opportuno.

    Devi cambiare un po' il codice, ma lo script di base è quello. Spero di esserti stato utile
    Ciao

    PS Questo script contiene anche i controlli per stabilire se sei su netscape4, perchè ha problemi con gli iframe (infatti c'è un tag ILAYER). Il frameset normale mi sembra però che sia supportato, quindi taglia pure il controllo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.