Ниже находится страница с двумя фреймами.На этой странице есть функция JavaScript, называемая DoWork (), которая вызывается из любого фрейма через window.top.DoWork.
<html>
<head runat="server">
<title>TOP PARENT</title>
<script type="text/javascript">
function DoWork(callback)
{
// do work here
callback();
}
</script>
</head>
<body>
<iframe src="Frame1.htm"></iframe>
<iframe src="Frame2.htm"></iframe>
</body>
</html>
Вызывающему фрейму необходимо передать ссылку на свою собственную функцию, чтобы его можно было вызватьот самого верхнего родителя.Например,
<html>
<head runat="server">
<title>Some frame</title>
<script type="text/javascript">
function WorkIsDone()
{
alert('Work is done');
}
</script>
</head>
<body>
<input type="button" value="Do Work" onclick="window.top.DoWork(WorkIsDone);" />
</body>
</html>
Вопрос: Каков наиболее эффективный способ глобальной ссылки на функцию WorkIsDone () в кадре, чтобы самый верхний кадр мог вызывать ее из функции DoWork ()?
Обратите внимание, что я не могу жестко закодировать индекс кадра в вызове.Спасибо!
Обновление: В кадрах могут быть вложенные кадры.