【问题标题】:Javascript: How to reload entire frameset onload() event including frame where Javascript is calledJavascript:如何重新加载整个框架集 onload() 事件,包括调用 Javascript 的框架
【发布时间】:2010-09-13 09:35:39
【问题描述】:

有没有办法使用 Javascript onload() 事件重新加载整个框架集?

function logout() {
    /* ... */
    // reload entire frame
    top.location.reload();
}

<body onload="logout()">

这会导致所有框架重新加载,但调用它的框架的 URL 没有更改为框架集中指定的 URL。

【问题讨论】:

    标签: javascript


    【解决方案1】:

    据我了解,您希望使用 中所述的原始 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()
    

    当然,这只有在所有帧都来自the same origin时才有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多