Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di Mizushi
    Registrato dal
    Aug 2005
    Messaggi
    1,125

    [Javascript] Problema con Window.Opener

    Ho (forse) uno stupido problema con javascript:

    - ho realizzato un menu in js in cui è possibile aprire i links all'interno di finestre popup e sin qui nessun problema:

    Menu4=new Array("Utenti registrati","javascript:NWin=window.open(\"/gest.asp\",\"NWin\",\"left=250,top=100,width=450,h eight=450,scrollbars=yes,toolbar=no\");window[\"NWin\"].focus()","",0,20,200);
    - quando l'utente apre la pagina gest.asp direttamente dalla pagina web principale tutto ok;

    - quando l'utente invece si registra riceve un email con un link alla pagina gest.asp che se l'utente non si è ancora autenticato visualizza questa alert:

    codice:
    <%
    If NOT session("login") then %>
    
    <script language="javascript">
      alert("Non sei autenticato.");
      window.opener.window.location.href("http://www.paginaprincipale.com");
      window.close();
    </script>
    
    <%
    else
    e va in errore (img allegata) perchè aperta a tutto browser e non all'interno della popup.

    Come posso risolvere a quest'inconveniente fastidioso?
    Immagini allegate Immagini allegate

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    prova con
    codice:
    if(window.opener){
      window.opener.location.href="http://www.paginaprincipale.com";
      window.close();
    }
    ciao

  3. #3
    Utente di HTML.it L'avatar di Mizushi
    Registrato dal
    Aug 2005
    Messaggi
    1,125
    Ti ringrazio, ma la pagina non va più in errore ma non esegue il redirect alla pagina principale:

    codice:
    <script language="javascript">
      alert("Non sei autenticato.");
      
      if(window.opener){
      window.opener.location.href="http://localhost";
      window.close();
    }
    </script>

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Aggiungi una piccola pausa prima di chiudere la finestra:
    codice:
    <script language="javascript">
      alert("Non sei autenticato.");
      
      if(window.opener){
      window.opener.location.href="http://localhost";
      setTimeout('window.close()',300);
    }
    </script>
    ciao
    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 L'avatar di Mizushi
    Registrato dal
    Aug 2005
    Messaggi
    1,125
    Grazie anche a te, ma continua a non eseguire il redirect:

    codice:
    <script language="javascript">
      alert("Non sei autenticato.");
      
      if(window.opener){
      window.opener.location.href="http://localhost";
      setTimeout('window.close()',300);
    }
    
    </script>

  6. #6
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Ora che ci penso... se l'utente proviene da un link contenuto in una mail non esiste una finestra "opener"... e quindi lo script funziona (nel senso che non fa nulla)!

    ciao
    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

  7. #7
    Utente di HTML.it L'avatar di Mizushi
    Registrato dal
    Aug 2005
    Messaggi
    1,125
    Originariamente inviato da br1
    Ora che ci penso... se l'utente proviene da un link contenuto in una mail non esiste una finestra "opener"... e quindi lo script funziona (nel senso che non fa nulla)!

    ciao
    E come faccio per rendirizzare l'utente ?

  8. #8
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    con un semplice:

    codice:
    <script language="javascript">
      alert("Non sei autenticato.");
      
      if(window.opener){
        window.opener.location.href="http://localhost";
        setTimeout('window.close()',300);
      } else {
        window.location.href="http://localhost";
      }
    </script>
    ciao
    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

  9. #9
    Utente di HTML.it L'avatar di Mizushi
    Registrato dal
    Aug 2005
    Messaggi
    1,125
    Grazie!

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.