Javascript:如何重新加载整个frameset onload()事件,包括调用Javascript的帧
时间:2020-03-06 14:46:27 来源:igfitidea点击:
有没有一种方法可以使用Javascript onload()事件重新加载整个框架集?
function logout() {
/* ... */
// reload entire frame
top.location.reload();
}
<body onload="logout()">
这将导致所有框架重新加载,但是调用该框架的URL并未更改为框架集中指定的URL。
解决方案
据我了解,我们想使用<frame src =" ...">中所述的原始URL重新加载框架集中的每个框架。
这个小功能可以做到这一点(将其放入拥有框架集的文档中):
this.reloadChildFrames = function()
{
var allFrames = document.getElementsByTagName("frame");
for (var i = 0; i < allFrames.length; i++)
{
var f = allFrames[i];
f.contentDocument.location = f.src;
}
}
然后,我们可以从任何子框架中调用该函数:
top.reloadChildFrames()
当然,仅当所有帧都来自同一原点时,此方法才有效。

