Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2010
    Messaggi
    16

    cambiare argomento di un frame dopo un certo periodo di tempo

    ciao a tutti,
    dovrei cambiare una pagina contenuta in un frame dopo un certo periodo di tempo,ho provato diverse soluzioni proposte, ma senza avere risulati, una di queste e':
    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
    <html>
    <head>
    <title>prova </title>
    <script language="JavaScript" type="text/javascript">
    <!--
    function change2()
    {//ho provato tutti questi modi ma niente
    parent.sponsor.location="12frame.htm";
    parent.frames[1].location="12frame.htm";
    parent.sponsor.location.src="12frame.htm";
    parent.sponsor.location.hrif="12frame.htm";
    }
    //-->
    </script>
    
    </head>
    
    <frameset cols='120, *'>
    
     <frame name='menu' src="timer.php" scrolling='auto'>
    
    <frameset rows='333,405' cols='*'>
    <frame name='sponsor' src="timer.php" scrolling='auto'>
    
    <frame name='homepage1' src="timer.php" scrolling='auto'>
    
    
    </frameset>
    <noframes><body>"
    
    
    spiacente il tuo browser non supporta i frames</p>
    </body></noframes>
    </frameset>
    <?php
    sleep(10);
    ?>
    <script LANGUAGE="JavaScript"  type='text/javascript'>change2();</script>
    
    
    </html>
    grazie in anticipo

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660

    Re: cambiare argomento di un frame dopo un certo periodo di tempo

    Fai una prova cosi:

    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
    <html>
    <head>
    <title>prova </title>
    <script language="JavaScript" type="text/javascript">
    <!--
    function change2()
    {//ho provato tutti questi modi ma niente
    parent.sponsor.location="12frame.htm";
    parent.frames[1].location="12frame.htm";
    parent.sponsor.location.src="12frame.htm";
    parent.sponsor.location.hrif="12frame.htm";
    }
    //-->
    </script>
    
    </head>
    
    <frameset cols='120, *'>
    
     <frame name='menu' src="timer.php" scrolling='auto'>
    
    <frameset rows='333,405' cols='*'>
    <frame name='sponsor' src="timer.php" scrolling='auto'>
    
    <frame name='homepage1' src="timer.php" scrolling='auto'>
    
    
    </frameset>
    <noframes><body>"
    
    
    spiacente il tuo browser non supporta i frames</p>
    </body></noframes>
    </frameset>
    <script LANGUAGE="JavaScript"  type='text/javascript'>setInterval("change2()",5000);</script>
    
    
    </html>
    5000 è il timeout in formato millisecondi

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2010
    Messaggi
    16
    la chiamata va bene grazie mille, ma mi sa che c'e' qualcosa che non va quando gli assegno il nuovo link al frame..
    parent.sponsor.location="12frame.htm";
    parent.frames[1].location="12frame.htm";
    parent.sponsor.location.src="12frame.htm";
    parent.sponsor.location.hrif="12frame.htm";
    ora li provo singlarmente(li avevo messi insieme per mostrarvi le prove che avevo fatto)

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    <script type="text/javascript">
    function change2() {
    window.open("http://www.html.it","sponsor");
    }
    window.onload=function(){setTimeoutl("change2()",5 000)};
    </script>
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2010
    Messaggi
    16
    lo provero' domani mattina che l'orario lavorativo e' finito, intanto ringrazio tutti

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    informati sui metodi setTimeout e setInterval perche nonostante siano simili c'è un importante differenza...

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2010
    Messaggi
    16
    ho provato tutti e due i metodi e vanno bene entrambi l'unica cosa che devo dire e' che br1 ha fatto un errore di battitura
    window.onload=function(){setTimeoutl ("change2()",5000)};
    bisogna cancellare la "l" , lo dico ,non per pignoleria, ma solamente per altre persone che volessero dare uno sguardo a questo topic
    grazie ancora a tutti....ci risentiremo(se suona come minaccia..beh avete ragione siete troppo tempestivi e affidabili)
    see u

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2010
    Messaggi
    16
    Continuando a lavorare al mio progetto di far cambiare i siti dentro i frame ogni tot tempo , mi sono scontrato ad un altro problema logico che non riesco a venirne fuori.
    per ora il programma prende da un DB la lista dei siti che voglio visualizzare(array $linkScreen1) e il tempo di durata di questi ultimi(anche se per ora l'ho impostato fisso per risolvere un pezzo alla volta il mio programma).
    usando setTimeout la temporalizzazione (statica) funziona perfettamente cambia prima il frame 1 poi il 2 ,il 4 e alla fine il 3.il problema viene quando al momento della chiamata function change, in quanto la variabile js count non e' la stessa al momento della partenza del timer, ma ha il valore dell'ultimo incremento subito.
    ho pensato di usare anche setInterval, ma l'ho trovato ostico con la gestione del suo clear.
    quindi una volta esposto il problema vi chiedo se per caso avete un idea su come gestire il passaggio dei "link" tenendo conto che i quatto array linkScreen1,2,3,4 non hanno una lunghezza fissa(perche' avevo pure pensato di passargli un coun1,2,..,n per averli differenti al momento della chiamata)
    grazie mille per la pazienza
    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
    <html>
    <head>
    <title>prova </title>
    <?php
    	require 'Php/config.php';
    	require 'Php/connect.php';
    		for ($mul = 1; $mul <5; $mul++) {
    			$sql = "SELECT * FROM 4ScreensList WHERE screen=$mul";
    			$result = mysql_query($sql);
    			$count=0;
    			while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    				switch ($mul) {//separo i link in 4 array per i 4 frames
    					case 1:				
    						$linkScreen1[$count] = $row["link"] ;
    						$timeScreen1[$count] = $row["time"] ;
    						break;
    					case 2:
    						$linkScreen2[$count] = $row["link"] ;
    						$timeScreen2[$count] = $row["time"] ;
    						break;
    					case 3:
    						$linkScreen3[$count] = $row["link"] ;
    						$timeScreen3[$count] = $row["time"] ;
    						break;
    					case 4:
    						$linkScreen4[$count] = $row["link"] ;
    						$timeScreen4[$count] = $row["time"] ;
    						break;
    				}
    				$count++;
    			}
    		}
    	mysql_free_result($result);
    	mysql_close($link);
    ?>
    <script language="JavaScript" type="text/javascript">
    <!--
    function change(link_js,screens) {	//cambio il link nel frame screens
    alert(link_js+" screen: "+screens);
    	window.open(link_js,"screen"+screens);
    }
    var link_php = new Array();
    var screen_php=0;
    var count = 0;
    //scorro l'array linkScreenN e faccio partire i timer (per ora ho riempito solo un campo quindi il timer statico non mi crea casini )
    		<?php 
    		for($j=1; $j < count($linkScreen1) ; $j++){
    		?>
    			link_php[count] = '<?php echo($linkScreen1[$j]);?>' ;
    			count++;
    			setTimeout("change(link_php[count--],1)",2000);
    			
    		<?php
    		}
    		for($j=1; $j < count($linkScreen2) ; $j++){
    		?>
    			link_php[count] = '<?php echo($linkScreen2[$j]);?>' ;
    			count++;
    			setTimeout("change(link_php[count--],2)",6000);
    
    		<?php
    		} 
    		for($j=1; $j < count($linkScreen3) ; $j++){
    		?>
    			link_php[count] = '<?php echo($linkScreen3[$j]);?>' ;
    			count++;
    			setTimeout("change(link_php[count--],3)",15000);
    			
    		<?php
    		}
    		for($j=1; $j < count($linkScreen4) ; $j++){
    		?>
    			link_php[count] = '<?php echo($linkScreen4[$j]);?>' ;
    			count++;
    			setTimeout("change(link_php[count--],4)",10000);
    			
    		<?php
    		}
    		?>
    		//-->
    </script>
    
    </head>
    
    <frameset cols='50%, *'>
        <frameset rows='50%,50%' cols='*'>
            <frame name='screen1' src="<?php echo $linkScreen1[0]; ?>" scrolling='auto'>
            <frame name='screen2' src="<?php echo $linkScreen2[0]; ?>" scrolling='auto'>
        </frameset>
        <frameset rows='50%,50%' cols='*'>
            <frame name='screen3' src="<?php echo $linkScreen3[0]; ?>" scrolling='auto'>
            <frame name='screen4' src="<?php echo $linkScreen4[0]; ?>" scrolling='auto'>
        </frameset>
    <noframes><body>"
    
    
    spiacente il tuo browser non supporta i frames</p>
    </body></noframes>
    </frameset>
    </html>

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.