2011-12-15 5 views
3

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

window.onload = someFunction() 

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

+0

Добавить Javascript в конце страницы. – adatapost

+0

'window.onload = someFunction'? – OnesimusUnbound

+0

Немного больше кода может сделать вопрос более понятным. – Gautam

ответ

1

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

$(function() { 
    callMyFunction() 
}); 
1

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

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

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 в противном случае (если этот флаг уже поднят) не обновить страницу еще раз, чтобы избежать бесконечного цикла.

3

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

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

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

$(document).ready(function(){ 
    somefunction(); 
}); 
Смежные вопросы