偵測使用window.open 開啟的視窗中的onLoad 事件在各種瀏覽器中都是一個挑戰。以下程式碼嘗試實現此功能,但失敗了:
window.popup = window.open($(this).attr('href'), 'Ad', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); $(window.popup).onload = function() { alert("Popup has loaded a page"); };
要成功捕獲onLoad 事件,建議使用以下方法:
對於現代瀏覽器,請使用addEventListener 方法,如下所示:
var myPopup = window.open(...); myPopup.addEventListener('load', myFunction, false);
如果支援Internet Explorer 至關重要,請使用AttachEvent 方法:
myPopup[myPopup.addEventListener ? 'addEventListener' : 'attachEvent']( (myPopup.attachEvent ? 'on' : '') + 'load', myFunction, false );
支援IE 可能很麻煩。如果可能,請考慮避免它或實施特定的解決方案以實現 IE 相容性。
以上是如何監控window.open所建立的彈跳窗中的onLoad事件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!