首頁  >  文章  >  web前端  >  如何監控window.open所建立的彈跳窗中的onLoad事件?

如何監控window.open所建立的彈跳窗中的onLoad事件?

Patricia Arquette
Patricia Arquette原創
2024-10-24 13:35:31159瀏覽

How Can I Monitor the onLoad Event in Pop-ups Created Using window.open?

監控使用window.open 建立的彈出視窗中的onLoad 事件

偵測使用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 事件,建議使用以下方法:

1. addEventListener

對於現代瀏覽器,請使用addEventListener 方法,如下所示:

var myPopup = window.open(...);
myPopup.addEventListener('load', myFunction, false);

2. AttachEvent(適用於IE)

如果支援Internet Explorer 至關重要,請使用AttachEvent 方法:

myPopup[myPopup.addEventListener ? 'addEventListener' : 'attachEvent'](
  (myPopup.attachEvent ? 'on' : '') + 'load', myFunction, false
);

IE 支援注意事項

支援IE 可能很麻煩。如果可能,請考慮避免它或實施特定的解決方案以實現 IE 相容性。

以上是如何監控window.open所建立的彈跳窗中的onLoad事件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn