Javascript: Как перезагрузить событие onset () всего фрейма, включая фрейм, где вызывается Javascript - PullRequest
0 голосов
/ 26 сентября 2008

Есть ли способ перезагрузить весь набор фреймов, используя событие onav (Javascript onload)?

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

<body onload="logout()">

Это приводит к перезагрузке всех фреймов, но URL фрейма, в котором он был вызван, не изменился на URL-адрес, указанный в наборе фреймов.

1 Ответ

4 голосов
/ 26 сентября 2008

Как я понял, вы хотите перезагрузить каждый кадр в наборе кадров, используя исходный 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()

Конечно, это может работать только тогда, когда все кадры происходят от одного происхождения .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...