Domanda

Sto usando JavaScript window.open metodo per aprire diciamo http://www.google.com [ la sua intenzione di essere sempre un po 'URL esterno]

Ho memorizzato il riferimento dell'oggetto window in una variabile, il problema è che non ottiene mai nulla variabile sulla pagina padre e io non sono in grado di avvisare l'utente che il pop-up è stato chiuso.

Ecco il codice

 
        var winFB;
        var winTWt;
        var counterFB = 0;
        var counterTWT = 0;
        var timerFB;
        function openFB() {

            if (counterFB == 0) {
                winFB = window.open("http://www.google.com");
                counterFB = 1;
            }
            if (counterFB > 0) {
                alert(winFB);
                if (winFB == null) {
                    counterFB = 0;
                    clearTimeout(timerFB);
                    alert("Window Closed");
                }
            }
          timerFB= setTimeout("openFB()", 1000);
        }

    

Non riesco a mettere qualsiasi codice JavaScript nella finestra pop-up / bambino.

La speranza che qualcuno mi può aiutare su questo

È stato utile?

Soluzione

La variabile finestra non ottiene reso nullo quando è chiuso, tuttavia la sua .closed proprietà è true, quindi basta cambiare il vostro assegno di essere per la proprietà, in questo modo:

var winFB;
var winTWt;
var counterFB = 0;
var counterTWT = 0;
var timerFB;
function openFB() {
    if (counterFB == 0) {
        winFB = window.open("http://www.google.com");
        counterFB = 1;
    }
    if (counterFB > 0) {
        if (winFB.closed) {
            counterFB = 0;
            clearTimeout(timerFB);
            alert("Window Closed");
        }
    }
    timerFB = setTimeout(openFB, 1000);
}

Si noti inoltre la setTimeout() cambiamento, passare una funzione a quando possibile (quasi sempre ), piuttosto che una stringa, avrete molto meno problemi con scoping.

Altri suggerimenti

//in the parent
winFB = window.open("http://www.google.com");

//in the child window you can access
var _parent = window.opener.document;

//also use the onunload event in the child window
onunload="doSomething()"

Spero che questo ti dà una direzione ..

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top