Visualizzazione dei risultati da 1 a 8 su 8

Discussione: redirezione

  1. #1

    redirezione

    Salve

    il mio problema è reindirizzare gli utenti del mio sito su un altro sito. Ora nella pagina iniziale mi si dovrebbe aprire una pop-up che fa il conto alla rovescia e termito il conto la pagina creatrice della pop-up viene reindirizzata mentre la pop-up si chiude.

    il codice che ho creato per la pagina chiamante è:

    function openwindow(page){
    var cinzia = window.open(page,'reind','width=400, height=150, menubar=no, scrollbars=no, resizable=no');
    }
    ....
    <body onLoad="openwindow('reind.html');">

    quindi reind.html è la pop-up....

    in reind.html ho il seguente codice:

    function countdown(){
    var sec = 5;
    var second = sec - 1;
    if (second >= 0){
    document.write("Stai per essere reindirizzato su http://www.miosito.com/ in "+second+" secondi");
    var cinzia2 = window.setTimeout('countdown();',1000);
    window.close;
    }
    else{
    document.write(second);
    var cinzia3 = window.setTimeout('',1000);
    var cinzia4 = window.opener.document.location.href='http://www.miosito.com/';
    var cinzia5 = window.close();
    }

    }

    <body onLoad="countdown()">

    i problemi sono che il codice all'interno della pop-up non fa la chiamata ricorsiva dopo 1000 millisecondi e quindi l'esecuzione si ferma a 4...
    poi la finestra sotto mozilla non mi si apre...
    la reidirizzazione non funziona...

    c'è qualcuno che ha da darmi qualche suggerimento?

    grazie
    nessun c___o è duro come la vita

  2. #2
    Utente di HTML.it L'avatar di Francis87
    Registrato dal
    Jun 2003
    Messaggi
    5,970

    Re: redirezione

    codice:
    function countdown(){
    	var sec = 5;
    	var second = sec - 1;	
    	if (second >= 0){
    		document.write("Stai per essere reindirizzato su http://www.miosito.com/ in "+second+" secondi");
    		var cinzia2 = window.setTimeout('countdown();',1000);
    		window.close; 
    	}
    	else{
    		document.write(second);
    		var cinzia3 = window.setTimeout('',1000);
    		var cinzia4 = window.opener.document.location.href='http://www.miosito.com/';
    		var cinzia5 = window.close(); 	}
    
    }
    
    <body onLoad="countdown()">
    se dai i nomi alle variabili, cerca di far in modo ke al nome tu possa associare qualcosa...

    se uno mi dice myWin capisco ke è una finestra, ma cinzia2....

    la sintassi:
    codice:
    setTimeout("funzione()",1000);
    prova a togliere il ";" dopo il nome della funzione
    ke serve un setTimeout ke non richiama nulla?

    codice:
    var ... = ... = ....
    dove l'hai mai visto?
    codice:
    window.opener.document.location.href = 'http://www.miosito.com/';
    window.close() sta bene da solo
    Heaven's closed. Hell sold out.

    Linux 2.6.26-2-amd64
    Debian squeeze

  3. #3
    beh in effetti ho scritto un bel poco di cavolate....

    anche perché il codice l'ho scritto ieri notte e nn l'ho neanche riletto cmq ho risolto....

    oltre quegli errori che mi hai notificato tu ce ne sono anche altri...

    ciao grazie


    PS: per quanto riguarda le var "cinzia" questo pezzo di codice è molto piccolo e leggibile nn credo che metta così in difficoltà il nome della variabile
    nessun c___o è duro come la vita

  4. #4
    Io ho il seguente codice:

    ...

    function countdown(sec){
    var second = sec - 1;
    if (second == 4){
    document.write("<p align=center><font size=4>
    ATTENZIONE: stai per essere reindirizzato su
    http://www.miosito.com </font></p>");
    }

    if (second > 0){
    var id = setTimeout("countdown(second)",1000);
    //countdown(second);
    }
    else{
    window.opener.location.href='http://www.miosito.com/';
    window.close();
    }

    }

    var sec=5;
    </script>

    </head>

    <body onLoad="countdown(sec)">
    ...

    perché setTimeout mi blocca l'esecuzione del programma e non mi richiama ricorsivamente la funzione?
    nessun c___o è duro come la vita

  5. #5
    Utente di HTML.it L'avatar di Francis87
    Registrato dal
    Jun 2003
    Messaggi
    5,970
    codice:
    function countdown(sec) { 
    var second = sec - 1;
    controlla ke "sec" e "second" siano numeri giusti.
    prova quindi con degli alert a mostrarli, commentando il resto del codice
    Heaven's closed. Hell sold out.

    Linux 2.6.26-2-amd64
    Debian squeeze

  6. #6
    putroppo già ho provato con document.write a farmi stampare tutte le second, e funziona realmente...

    infatti se io levo window.setTimeout.... e al posto di questo metto semplicemente la il nome della funzione ricorsa va' tutto a posto.... il problema è che così facendo la finestra si chiude troppo velocemente...in pratica avrei bisogno di una funzione built-in che mi permette di bloccare il flusso di esecuzione per alcuni secondi
    nessun c___o è duro come la vita

  7. #7
    Utente di HTML.it L'avatar di Francis87
    Registrato dal
    Jun 2003
    Messaggi
    5,970
    non puoi semplicemente fare:

    setTimeout("self.close()",5000);

    :master:
    Heaven's closed. Hell sold out.

    Linux 2.6.26-2-amd64
    Debian squeeze

  8. #8
    Si! in effetti questa potrebbe essere una buona soluzione

    penso che adotterò questa...

    grazie ciao
    nessun c___o è duro come la vita

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.