2014-03-30 21 views
1

每當iframe卸載並在iframe加載時清除它們,我都需要附加一個微調器。我試圖設置iframe.unload()iframe.onbeforeunload(),但沒有任何工作。這裏是我的代碼塊,綁定.unload()或.onbeforeunload()以動態創建iframe

var iframe = $('<iframe/>'), $this = $('div#iframeContainer'); 
iframe.attr('src', url).load(function() { 
    alert('iframe onload!'); 
}).unload(function() { 
    alert("iframe unload"); 
}); 
$this.append(iframe); 

jQuery的​​工作得很好,對我來說.unload()不會被調用。我甚至試圖將卸載事件綁定到iframe.contents().find('body'),但這也不起作用。

+0

一個iframe並沒有真正'unload',只有窗口確實,當你關閉它。 – adeneo

+0

@ adeneo:謝謝你的回覆。然而,有沒有辦法將.unload附加到iframe中的窗口? –

回答

0

嘗試使用這樣的:

document.getElementById("your_iframe").addEventListener("unload", function(){ 
//action here 
}); 
+0

感謝您的建議。正如我剛纔提到的,這是一個動態創建的iframe,那麼我在哪裏添加此偵聽器?是否應該添加到iframe的負載功能? –

+0

將它追加到您的網頁後添加它..可能不完全相同.. 使setTimeout爲100ms,並使用它 – csanonymus