为了账号安全,请及时绑定邮箱和手机立即绑定

检测使用window.open打开的窗口的onload事件

检测使用window.open打开的窗口的onload事件

白猪掌柜的 2019-07-25 09:44:49
检测使用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");         };这在我尝试过的任何浏览器中都不起作用(IE,Firefox,Chrome)。如何检测窗口中何时加载页面(如iframe onload)?
查看完整描述

3 回答

?
慕运维8079593

TA贡献1876条经验 获得超5个赞

如果弹出窗口的文档来自不同的域,则根本不可能。

我错了:如果您拥有这两个域,那么您可以window.postMessagemessage几乎所有与今天相关的浏览器使用事件

如果没有,如果没有从加载到弹出窗口的文档中获得一些帮助,你仍然无法跨浏览器进行这项工作。您需要能够检测加载后弹出窗口中的更改,这可能是弹出页面中的JavaScript在处理自己的load事件时设置的变量,或者您对它有一些控制权的变量你可以在开场白中添加对函数的调用。


查看完整回答
反对 回复 2019-07-25
?
手掌心

TA贡献1942条经验 获得超3个赞

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

如果您关心IE,请使用以下作为第二行:

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

正如您所看到的,支持IE非常麻烦,应尽可能避免使用。我的意思是,如果您需要支持IE,因为您的受众,无论如何都要这样做。


查看完整回答
反对 回复 2019-07-25
  • 3 回答
  • 0 关注
  • 2937 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信