Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Domnda su opener.location.href

    Salve a tutti,
    Avrei una domanda su un piccolo script che sto realizzando..
    Vorrei verificare se la finestra (A) che ha aperto il pop-up (B) è ancora esistente, e se quindi eventuali link presenti in B diretti ad A possono verificarsi o se in alternativa aprirsi in una nuova finestra..

    Ecco lo script che ho fatto fin'ora, ma che non funziona.. :
    Codice PHP:
    //Trovare criterio valido per verificare che la finestra che ha aperto il pop up sia ancora esistente ed aperta.
    function openlink(collegamento){
    //memorizzo l'indirizzo della pagina che ha aperto in una variabile
    var prefin opener.location.href;
    //se non esiste ( quella finesta è stata chiusa)
        
    If prefin=='' //Se è vuoto, ho provato anche con lenght.prefin
        
    {
         
    window.open(collegamento,'','');//aprimi il link in una nuova pagina
         
    }
        Else
    //se ha lunghezza > 0  o altro criterio per verificare la sua esistenza
         
    {
         
    opener.location.href=collegamento;//aprimi nella pagina che ha aperto
         
    return false;
        }


  2. #2
    Prova semplicemente a controllare l'esistenza dell'oggetto finestra "opener". Se usi "opener.location.href" ti riferisci ad una proprietà (location.href) della finestra opener, che JavaScript va quindi a verificare senza controllare l'effettiva esistenza dell'oggetto finestra e quindi va in errore!

    codice:
    function openlink(collegamento) {
    if (window.opener) { // controlla se window.opener esiste
    window.opener.location = collegamento; // aprimi nella pagina che ha aperto
    return false;
    }
    else {
    window.open(collegamento,'',''); // aprimi il link in una nuova pagina
    }
    }
    opener è a tutti gli effetti una proprietà dell'oggetto window. Ovviamente, non tutte le finestre hanno una proprietà opener (ce l'hanno solo se sono state aperte da un'altra finestra infatti). E' quindi possibile verificare semplicemente che la proprietà esista con if (window.opener).

    PS: href è una proprietà dell'oggetto location che corrisponde alla stringa presente nella barra indirizzo del browser. location è invece l'oggetto "barra indirizzo" a tutti gli effetti e può essere impostata per modificare l'URI del documento presente nella finestra. In pratica, la differenza tra le due proprietà è quasi impercettibile. Se devi impostare l'URI, è più corretto usare semplicemente window.location, mentre se devi semplicemente leggere la stringa presente nella barra indirizzo, è corretto usare window.location.href.

  3. #3
    Geniale!!
    Sei stato di grande aiuto non solo a risolvere l'inghippo ma anche a spiegarmi

    Un altro errore (grave) che commettevo sono le iniziali maiuscole, sono abituato in ASP ed il suo case indifferente.

    Grazie mille ancora

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 © 2024 vBulletin Solutions, Inc. All rights reserved.