首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用window.open打开的窗口在IE for newWindow.addEventListener("load",callback,true)中抛出“对象不支持属性或方法”

问题描述:

使用window.open打开的窗口在IE浏览器中,当在newWindow.addEventListener("load",callback,true)中抛出“对象不支持属性或方法”的错误。

回答:

这个问题是由于IE浏览器对于window.open打开的新窗口的事件处理机制存在一些差异导致的。在IE浏览器中,当使用window.open打开一个新窗口时,该新窗口的加载事件可能会在父窗口中的代码执行之前触发,从而导致在newWindow.addEventListener("load",callback,true)中访问到未定义的对象或方法。

解决这个问题的方法是使用setTimeout函数来延迟执行在newWindow.addEventListener("load",callback,true)中的代码,以确保新窗口完全加载后再执行相关操作。具体的代码示例如下:

代码语言:javascript
复制
var newWindow = window.open("url", "_blank");
newWindow.addEventListener("load", function() {
    setTimeout(function() {
        // 在这里执行相关操作
    }, 100);
}, true);

在上述代码中,通过setTimeout函数将相关操作延迟100毫秒执行,以确保新窗口已经完全加载。你可以根据实际情况调整延迟的时间。

此外,还可以使用其他的方法来解决这个问题,比如使用jQuery的ready函数或者检测新窗口的document.readyState属性等。

希望以上解答对你有帮助。如果你有其他问题,欢迎继续提问。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

页面彈出各种窗口詳解

一、 基本变化 <SCRIPT LANGUAGE="javascript"> </SCRIPT> 参数解释: window.open 弹出新窗口的命令; 'page.html' 弹出窗口的文件名; 'newwindow' 弹出窗口的名字(不是文件名),非必须,可用空''代替; 100 窗口高度; width=400 窗口宽度; top=0 窗口距离屏幕上方的象素值; left=0 窗口距离屏幕左侧的象素值; toolbar=no 是否显示工具栏,yes为显示; menubar,scrollbars 表示菜单栏和滚动栏。 resizable=no 是否允许改变窗口大小,yes为允许; location=no 是否显示地址栏,yes为允许; status=no 是否显示状态栏内的信息(通常是文件已经打开),yes为允许; 二、 弹启一个全屏窗口 加入fullscreen <SCRIPT LANGUAGE="javascript"> </SCRIPT> 三、 打开一个和按F11所见到的一样的窗口 加入channelmode <SCRIPT LANGUAGE="javascript"> </SCRIPT> 四、 打开一个连标题栏都没有的窗口(无标题、最小、最大、以及关闭按钮) <HTML><HEAD> <META http-equiv=Content-Type content="text/html; charset=gb2312"> <script language="javascript"> function unload() { var popUpSizeX=200; //窗口的宽度 var popUpSizeY=166; //窗口的高度 var popUpLocationX=2;//距离左边的距离 相当于 left var popUpLocationY=2;//距离顶端的距离 相当于 top // URL of the popUp var popUpURL="http://www.33d9.com/default.asp";; //打开页面的路径 // ** 下面的就不要随便改了 *** splashWin = window.open("",'x','fullscreen=1, ,scrollbars=auto,resizable=1'); splashWin.blur(); // Hide while updating window.focus(); splashWin.resizeTo(popUpSizeX,popUpSizeY); splashWin.moveTo(popUpLocationX,popUpLocationY); splashWin.location=popUpURL; } // END unload(); </script> </HEAD> <BODY></BODY></HTML> 看看,什么效果? 如果把resizable 设为0 scrollbars = no 呢? 五、 没有最大化按纽的窗口 其实也就是象软件的“关于我们”的那个窗口一样,下面就是用对话框窗口来实现它。 showModalDialog()以及showModelessDialog() 1.用showModalDialog() <html> <SCRIPT LANGUAGE="javascript"> </SCRIPT> http://w

02

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券