2014-05-21 2 views
1

페이지를 새로 고친 후 실행할 몇 줄의 코드가 있습니다.jquery에서 페이지를 다시로드 한 후 코드를 실행하십시오.

function showServicesList(){ 
    location.reload(); 

    /* 
    * Statement1 
    * Statement2 
    * Statement3 
    * Statement4 
    */ 
} 

그러나 페이지는 상쾌하지만 아래의 코드가 실행되지 않습니다 .. 어떤 도움 ..

+0

무한 루프? – j08691

+2

'location.reload()'는 수동으로 페이지를 다시로드하거나 새로 고친 것처럼 페이지를 즉시 다시로드합니다. 모든 컨텍스트가 손실되고 스크립트 실행이 중단되어 다른 명령문으로 넘어 가지 않습니다. – phuzi

+0

다시로드 한 후 나머지 코드를 실행 하시겠습니까, 아니면 처음로드시 실행하는 것이 좋을까요? – phuzi

답변

6

음. 페이지를 새로 고침하면 모든 자바 스크립트가 중지되고 다시로드됩니다. 페이지가 다시로드 된 후 코드를 실행하려면 해시를 추가하면됩니다.

window.location.hash = "triggerReloadCode"; 
window.location.reload(); 

if (window.location.hash.substr(1) == "triggerReloadCode") { 
    window.location.hash = ""; 
    /* Statements */ 
} 

이것이 최선의 방법인지는 잘 모르겠지만, 이와 같이 트리거합니다.

+0

좋아 .. 내가 시도해 보자 .. 나는 –

+0

을 안다. 나는 같은 결과를 얻고있다. 코드가 실행되지 않습니다 –

+1

if-section을 페이지로드에서 호출되는 함수 외부에서 제외해야합니다 (예 : 스크립트의 맨 위에 (함수가없는 경우). 또는 호출되는 함수에 넣습니다. 페이지로드시 2 줄의 위쪽 줄이 함수에 남아있을 수 있습니다 : http://jsfiddle.net/VP9NV/ – Fabic

관련 문제