Jquery:如何检查新打开的窗口是否已满载? / window加载外部页面(如www.yahoo.com)

前端之家收集整理的这篇文章主要介绍了Jquery:如何检查新打开的窗口是否已满载? / window加载外部页面(如www.yahoo.com)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
以下不起作用,为什么?
var myWindow=null;
myWindow = window.open(targetUrlVar,"_blank","resizable=yes");
$(myWindow).load(function(){
    alert('hello');
});

虽然MyWindow是一个Window引用,但不会检查它是否已完全加载.我认为$(window).load(…)可以在这里用“窗口”替换为“MyWindow”.

以下作品:

$(myWindow).load(function(){
    alert('hello');
});

对于targetUrlVar是一个内部资源(如属于我的域的页面),它的工作原理..
但是一旦我想使用.load()或myWindow.onload()并将targetUrlVar作为外部页面(例如www.yahoo.com或www.google.com),它就不再起作用了. ..
没有显示警报..

我需要你的帮助……谢谢大家

解决方法

如果要在子窗口打开时触发警报,而不管子窗口的DOM的状态如何,那么这应该有效.我还提供了一种测试这种假设的方法.

使用以下内容创建测试PHP脚本(或类似的脚本语言):

<html>
<head><title>test</title></head>
<body>
    <?PHP sleep(5); // Sleep to delay DOM from loading ?>

    Done sleeping...
</body>
</html>

然后使用以下javascript将此测试页面调用为您的子窗口:

win = window.open('test.PHP','test','width=300,height=400,x=800');
win.focus();
$(win.document).ready(function() {
    alert('Window is open');
});

您会注意到,在您看到子窗口中出现“Done sleeping …”之前,父窗口中的alert()会触发.

猜你在找的jQuery相关文章