Visualizzazione dei risultati da 1 a 6 su 6

Discussione: preload con i frame

  1. #1

    preload con i frame

    conosco questi tipi di script per realizzare un preload con javascript:

    - usare un DIV che copre tutto con z-index
    - caricare le immagini oin anticipo come variabili di JS
    - aprire una nuova finestra di attesa

    i primi due sono collegati all'evento onLoad, l'ultimo ad un timer preimpostato

    LE MIE DOMANDE:
    1) in un sito con i FRAME come posso impostare l'evento onLoad, dato che la pagina principale che imposta i frame non ha il tag <BODY>?
    inoltre come si fa a sapere quando tutti i frame sono caricati?

    2) se nell'ultimo caso (3° metodo) voglio chiudere la finestra non appena si è verificato l'evento onLoad della finestra che sta nascosta sotto, come si fa? ovvero: come si fa in JS a chiudere una finestra diversa da quella in cui ci si trova?

  2. #2
    SVILUPPI:

    1) nessuno

    2) grazie a Reale Augello ho trovato il modo di chiudere una finestra
    fin.close();
    tuttavia devo collegarlo all'onLoad di tutti i frame, e non so ancora come identificare il momento in cui tutti i frame sono caricati per poter far sparire la copertura. Potrei posizionarlo sul body del frame di cui ritengo sia maggiore il tempo di caricamento, ma posso chiudere da una pagina caricata in un frame la finestra "fin" che era stata aperta nella pagina principale di definizione dei frame?
    dove: fin = window.open('loading.htm','_new','location=no, menubar=no');

  3. #3
    ma nessuno ha avuto problemi nel costruire un preload in una pagina con i frame?


    se utilizzo il metodo di precaricare in cache le immagini utilizzando il JS, queste immagini vengono prese dalla cache se utilizzate nella pagina corrente (index.htm)...ma se vengono utilizzate anche da altre pagine aperte successivamente (ovvero i frame) che fa il browser, le riconosce nella cache o le ricarica?

  4. #4

    Sei riuscito?

    Sei poi riuscito? Io ho lo stesso problema. Dal index devo passare a l'home ma nel mezzo una preload page che mi carica le immagini dei frame dell'home. Una settimana e nulla

  5. #5
    ma che ... disperazione completa !!!

    AIUTOOO!!!!

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Riprendo il punto 1 della discussione iniziale:

    Nel frameset:
    codice:
    <head>
    ...
    <script ...>
    var okframe = new Array(20); // il numero deve essere >= n.frames
    for (var i=0; i<20; i++) { // azzeramento matrice
      okframe[i] = false;
    }
    
    function controlla() {
      for (var i=0; i<document.frames.length; i++) {
        if (!okframe[i]) { // c'e` un frame non caricato
          setTimeout('controlla()', 1000);
          return false;
        }
      }
      alert("tutti caricati");
      return true;
    }
    
    setTimeout('controlla()', 1000); // avvio funzione di controllo
    </script>
    </head>
    <frameset ....
    ...
    </frameset>
    <noframes ...>
    ....
    </noframes>

    Nei vari frames:
    <body ... onload="parent.okframe[N]=true;">


    E` anche possibile inserire un timeout, per cui dopo un certo numero di cicli lo script si ferma e da` un errore (in questo script tale opzione non c'e`).

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

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.