我的页面上有一个链接,会弹出一个新窗口,有时第二个窗口需要很长时间才能加载。 我想禁用父窗口上的链接,直到子窗口完成加载。 我知道我可以让子窗口 onload() 来提醒父窗口,但我不想打扰子窗口,所以我有一个小的 javascript 来轮询子窗口以查看它是否有任何数据,除了它不起作用。 我不能 newwindow.document.getelementbyid 因为我永远无法确定该页面上是否会有任何特定元素。 我只是想看看里面是否有某个地方。
最佳答案
只需为子窗口的load事件添加一个监听器即可。这是一个非常基本的示例
<html>
<head>
<script type="text/javascript">
onload = function()
{
document.getElementById( 'test' ).onclick = function( event )
{
event.preventDefault();
event.returnValue = false;
var link = event.target || event.src;
var childWin = window.open( link.href, 'child', 'width=400,height=300' );
childWin.onload = function()
{
alert( 'child window loaded!' );
}
}
}
</script>
</head>
<body>
<a href="test2.html" id="test">test</a>
</body>
</html>
注意:我应该告诉您,只有当您在子级中加载的 URL 与父级属于同一域时,这才有效。浏览器安全模型会阻止您这样做。
关于javascript - 如何检查子浏览器窗口是否已完成加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1132537/