2009-04-08 3 views
1

쉬운 방법이 있어야하지만 내 머리가 오늘 작동하지 않는다고 생각합니다. x 초 단위로 페이지를 새로 고침해야합니다. 나는 .NET에서 다음 사용하는 것이 수행 할 수 있습니다 나는 또한 다음 새로 고침 할 때까지 분, 초를 표시 할 필요가 제외ASP.NET에서 웹 페이지를 자동으로 새로 고침하고 다음 새로 고침까지 시간을 캡처하십시오.

Response.AddHeader("Refresh", "300"); 

이 괜찮습니다.

그래서 내가 클라이언트에서이 작업을 수행하기 위해 자바 스크립트에 다음 코드를 사용하고 있습니다 :

<script type="text/javascript""> 


    //enter refresh time in "minutes:seconds" Minutes should range from 0 to inifinity. Seconds should range from 0 to 59 
    var limit="0:30" 

    if (document.images){ 
     var parselimit=limit.split(":") 
     parselimit=parselimit[0]*60+parselimit[1]*1 
    } 

    function beginrefresh(){ 
     if (!document.images) 
      return 

     if (parselimit==1) 
      window.location.reload() 
     else{ 
      parselimit-=1 
      curmin=Math.floor(parselimit/60) 
      cursec=parselimit%60 
      if (curmin!=0) 
       curtime=curmin+" minutes and "+cursec+" seconds left until page refresh!" 
      else 
       curtime=cursec+" seconds left until page refresh!" 

      window.status=curtime 
      setTimeout("beginrefresh()",1000) 
     } 
    } 

    window.onload=beginrefresh; 

</script> 

이 한 가지를 제외하고 작동 - 페이지를 새로 고칠 때마다, 브라우저 (IE)는 자성 메시지를 제공합니다 콘텐츠 등을 다시 다운로드하는 방법에 대해 알아보십시오. 이것은하지 않습니다. 이것은 하루 종일 열리는 페이지이며 사용자 개입없이 새로 고침해야합니다. 다음 새로 고침 때까지 시간을 표시하고 ASP.NET 줄을 사용하는 메시지를 제거 할 수 있다고 생각하지만 다른 사람이 더 좋은 아이디어를 가지고 있다면 정말 고맙게 생각합니다.

window.location = window.location; 

이 방법은, 브라우저가 다시 게시물을 수행되지 않지만 서버에 새로운 요청 :

답변

4

대신 window.location.reload()를 사용하는 현재의 URL로 리디렉션을 수행하려고합니다. 다양한 브라우저에서 이것을 테스트하고 싶을 것이다. 나는 FF3를 테스트했다. & IE8; 둘 다 좋아 보인다.

+0

이것은 트릭을 만들었습니다. 재 장전을 눈치 챘을 것입니다. 이것으로 인해 IE nag가 발생할 것이라는 점을 완벽하게 이해할 수 있습니다. 오늘날 작동하지 않는 두뇌는 계산할 수 없습니다. 위험 윌 로빈슨, 위험! 감사! – user69889

0

타이머를 새로 고치는 코드와 함께 새로 고침을위한 JavaScript를 작성할 수 있습니다. 페이지를 새로 고치려면이 작성해야 -

window.location.href = window.location.href JS의이 라인은 NAG 화면없이 페이지를 새로 고침합니다

당신은 (NAG 화면은 실제로 브라우저에 POST 데이터를 서버에 다시 게시 할 것인지 묻는 질문입니다.)

0

"nag"는 서버에 한 번 게시 된 콘텐츠를 새로 고치기위한 브라우저의 것이며, "재로드"행 때문입니다.

AJAX 기능을 사용하여 실제로 변경중인 페이지 부분을 새로 고치기 만하면 전체 페이지를 새로 고칠 수있는 또 다른 옵션이 있습니다.

관련 문제