以下不起作用,为什么?
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的状态如何,那么这应该有效.我还提供了一种测试这种假设的方法.
<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()会触发.