2015-06-08 12 views
12

Ho bisogno di catturare un evento che dovrebbe essere attivato appena prima che il contenuto dell'iframe scompaia.iframe appena prima dell'evento di scarico

ho cercato di realizzare qualcosa di simile

$iframe = $('iframe'); 
$iframe.beforeunload(function() { 
    debugger; 
}); 

O

$iframe = $('iframe'); 
$iframe.unload(function() { 
    debugger; 
}); 

Ho anche provato legandolo alla finestra iframe stesso, senza alcuna fortuna

$iframe = $('iframe'); 
$iframe[0].contentWindow.onunload = function() { 
    debugger; 
}; 

Nessuno di questi event manager in realtà si innesca per me

e sono abbastanza confuso perché. Per ricaricare l'iframe, utilizzo .reload() dall'esterno dell'iframe e dall'interno, forse è necessario utilizzare un metodo diverso?

+0

Come su: $ iframe = $ ('iframe') [0]; – Lance

+0

Quindi: $ iframe.contentWindow.onunload = function ... – Lance

+0

Hmm, questa dovrebbe essere l'equivalenza: '$ iframe [0] .contentWindow.onunload' – Max

risposta

23

Capito! Non sapevo che il contentWindow perde il suo riferimento dopo una ricarica.

$iframe.load(function() { 
    $iframe[0].contentWindow.onbeforeunload = function() { 
    debugger; 
    }; 
}); 
Problemi correlati