2014-02-21 3 views
-4

다음과 같은 문제에 직면했습니다. 웹 페이지를 새로 고침 할 때 예상대로 동작하지만 재로드를 사용할 때 URL 입력에 Enter 키를 누르면 동작이 이상해집니다. 페이지가로드 될 때 나는 $ (document) .ready 함수를 호출하고 있으며 그 내부에서 요소 높이를 얻고있다. 첫 번째 경우 (새로 고침) 요소 높이가 괜찮 으면 두 번째 경우 (다시로드)이 높이가 작아서 내가 말하고있는 문제가 발생합니다.새로 고침시 웹 사이트 동작이 달라집니다.

왜 이런 일이 발생합니까? 웹 페이지를 새로 고치지 않고 어떻게이를 막을 수 있습니까? 브라우저가 다시로드에 캐싱이 있지만 URL을 입력 쳤을 때이 사이트 양식 캐시를로드하지 것처럼

감사

+0

일부 코드가 도움이 될 것입니다. –

+0

다시로드하면 데이터가 다시 전송됩니다 (POST 데이터조차도). URL을 다시 입력하면 URL이 호출되고 URL 만 || 또한 정상적인 새로 고침으로 인해 브라우저 캐시가로드 될 수 있으므로 캐싱 작업이 될 수 있습니다. CTRL + F5를 시도하십시오 –

+0

예, 웹 사이트가 다른 동작을하는 것 같습니다 (하지 말아야 할 경우) –

답변

1

이 울립니다. 이것이 귀하의 페이지가 div의 높이를 제대로 얻지 못하는 이유입니다.

나는 전에이 문제를했고 나는이 그것을 해결 :

$(function() { 
    setTimeout(function() 
     // get the height of elements here 
    }, 250); 
}); 

없이이 솔루션이 좋지 않은 말을. CSS에서 높이를 설정하면됩니다.

+0

문제가 발견되어 다음 사항을 기준으로 수정했습니다. 1. HTML 문서가로드 된 후 문서 준비 이벤트가 호출되고 2. onload 이벤트가 발생합니다. 모든 콘텐츠가로드 된 경우 (이 경우 이미지) 그래서 이미지 높이가 0이고 내 div 높이가 더 작은 이유입니다. 그래서 이벤트를 onload로 바꿨고 완벽하게 작동합니다. 솔루션은 이미지를로드하기를 기다리는 Timeout을 사용하여 덜 우아하지만이 작업을 시도합니다. –

관련 문제