Выполнение кода Javascript после загрузки обновленной страницы - PullRequest
3 голосов
/ 15 декабря 2011

У меня есть файл Javascript, который разделен на две части. Первая часть кода заканчивается обновлением текущей страницы. Я хотел бы попытаться заставить вторую часть кода выполняться сразу после перезагрузки страницы, но у меня возникли проблемы с поиском способа реализовать это. Я очень хочу способ сделать

window.onload = someFunction() 

за исключением того, что он активирует функцию после перезагрузки страницы из-за первой части Javascript. Есть ли эффективный способ сделать это?

Ответы [ 3 ]

3 голосов
/ 16 декабря 2011

Использование

document.onload = somefunction() Вместо. Это будет выполнено сразу после загрузки DOM.

Вы также можете использовать jQuery, чтобы сделать то же самое, что и

$(document).ready(function(){
    somefunction();
});
2 голосов
/ 15 декабря 2011

Вы можете сделать это, используя Jquery.Это выполняется при загрузке страницы

$(function() {
    callMyFunction()
});
1 голос
/ 15 декабря 2011

Единственный способ, которым я могу придумать, это добавить значение строки запроса при обновлении, затем прочитать это значение и действовать в соответствии с ним.

Вы можете использовать такой код:

function ParseQueryString() {
    var result = [];
    var strQS = window.location.href;
    var index = strQS.indexOf("?");
    if (index > 0) {
        var temp = strQS.split("?");
        var arrData = temp[1].split("&");
        for (var i = 0; i < arrData.length; i++) {
            temp = arrData[i].split("=");
            var key = temp[0];
            var value = temp.length > 0 ? temp[1] : "";
            result[key] = value;
        }
    }
    return result;
}

window.onload = function WindowLoad() {
    var QS = ParseQueryString();
    var reloaded = QS["reloaded"];
    if (reloaded === "1") {
        //execute second part of code
    }
}

Тогдапри перезагрузке перенаправьте на ту же страницу, добавив ?reloaded=1 в противном случае (если этот флаг уже установлен), не обновляйте страницу снова, чтобы избежать бесконечного цикла.

...