2011-12-15 3 views
3

두 부분으로 분리 된 자바 스크립트 파일이 있습니다. 코드의 첫 번째 부분은 현재 페이지를 새로 고침하여 끝납니다. 페이지가 다시로드 되 자마자 코드의 두 번째 부분을 실행하려고 노력하고 싶지만이를 구현하는 방법을 찾는 데 어려움을 겪고 있습니다. 나는 꽤 많이있는 방법은 자바 스크립트의 첫 번째 부분으로 인해 페이지를 다시로드 한 후 기능을 활성화하는 것을 제외새로 고침 한 페이지를로드 한 후 자바 스크립트 코드 실행

window.onload = someFunction() 

하고 싶어. 이 작업을 수행하는 효과적인 방법이 있습니까?

+0

페이지의 끝에서 자바 스크립트를 추가 같은 동일한 작업을 수행하기 위해 jQuery를 사용할 수 있습니다. – 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이로드 된 직후에 실행됩니다.

또한

$(document).ready(function(){ 
    somefunction(); 
}); 
관련 문제