Есть ли легкий крюк для обнаружения того, что окно, открытое script, закончило загрузку? В принципе, я хочу эквивалент hook onLoad()
, но я не могу установить его напрямую - предположим, что дочерний документ является данным, и я не могу на самом деле поместить в него какой-либо код.
Например, скажем, у меня есть следующие два файла:
parent.html
:
<html>
<head>
<title>Parent</title>
</head>
<script type="text/javascript">
var w;
function loadChild() {
w = window.open();
w.location.href="child.html";
// block until child has finished loading... how?
w.doSomething();
}
</script>
</html>
<body>
I am a parent window. <a href="javascript:loadChild()">Click me</a>.
</body>
child.html
:
<html>
<head>
<title>Child</title>
</head>
<script type="text/javascript">
function doSomething() {
alert("Hi there");
}
</script>
</html>
<body>
I am a child window
</body>
Поскольку установка location.href не блокируется, w.doSomething()
еще не определен, а вызов doSomething()
взорван. Как определить, что ребенок закончил загрузку?