以下不起作用,为什么?
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),它就不会继续工作......
没有显示警报..
我需要你的帮助...谢谢大家
答案 0 :(得分:1)
如果要在子窗口打开时触发警报,而不管子窗口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()会触发。
答案 1 :(得分:0)
$(document).ready(function() {
//perform tasks, DOM is loaded
});
希望这有帮助。
答案 2 :(得分:0)
我觉得这个问题有些陈旧。
然而,亚瑟说,
对于targetUrlVar是一个内部资源(就像属于我的域的页面)它可以工作..但是一旦我想使用.load()或myWindow.onload(),targetUrlVar是一个外部页面(如如www.yahoo.com或www.google.com),它不再起作用......没有显示警报..
我认为问题可能是由于targetUrlVar是外部的;可能会阻止警报以防止跨站点脚本(也称为XSS)。