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()
当然,仅当所有帧都来自同一原点时,此方法才有效。