2009-09-28 3 views
0

그래서 사용자가 내 사이트를 방문한 후 로그인하지 않고 2 분 이상 등록하지 않으면 알림이 팝업으로 표시되고 설문 조사를 요청하는 기능을 구현하고 있습니다.(ASP.NET AJAX) 이벤트가 발생한 후 어떻게 시세 표시기를 사용 중지 하시겠습니까?

동의합니다. 귀찮았습니다.하지만 비즈니스 요구 사항입니다.

세션 객체를 작성한 다음 헤더의 page_load (모든 페이지에 있으므로)에서 현재 시간이 세션 시간보다 큰지 확인했습니다.

그러나 페이지로드시에만 실행됩니다. 나는 정확히 정확히 2 분에 팝업이 필요하다.

그래서 ASP.NET AJAX 타이머를 살펴 보았습니다. 트릭을 수행하는 것으로 보입니다.

내 질문은 어떻게 비활성화합니까? 이제는 현재 간격이 20 초마다 계속 유지됩니다.

쿠키를 설정하고 쿠키가 없으면 표시하고 그렇지 않으면 표시하지 않을 것입니다.

다른 사람이 이것에 대해 어떤 통찰력을 가지고 있는지 궁금합니다.

고마워요!

답변

0

azamsharp에 의해 같이에서는 setTimeout() 접근 방식의 문제는 사용자가 이분 동안 동일한 페이지에 남아있는 경우에만 작동합니다. 경고가해야 할 때 세션에서

  • 저장 날짜 시간 : 당신이 다른 페이지가있는 경우

    의 당신은 아마도 예를 들어 asp.net 세션 및 클라이언트 측 스크립트를 포함하는 솔루션을 구현해야합니다 이

  • 가에 자바 스크립트 부분합니다 (pagemethod의 전화를) 넣어 인한 경우
  • 는 (모든 페이지)를 경고로 인해 있는지 확인하기 위해 자바 스크립트에서 page-method (예 : 매 5 초)을 호출하고 보여 표시 공통 마스터 페이지 및 각 asp.net 페이지에 대해 이것을 사용하십시오.
+0

세션과 관련된 문제는 사용자가 내일 사이트로 다시 돌아올 경우 동일한 성가신 팝업으로 공격받을 것이라는 것입니다. 나는 쿠키를 설정할 것 같아. 적어도 그들이 같은 컴퓨터에서 돌아 오면 방해받지 않을 것입니다. –

+0

예 쿠키를 사용하는 것이 세션을 사용하는 것보다 낫다고 생각합니다. – M4N

0

JavaScript windows.setTimeOut 메서드를 사용할 수 있습니다.이 메서드는 지정된 시간이 지나면 정확히 한 번 실행됩니다.

window.setTimeOut(foo,2000); 

위의 코드는 2 초 후에 foo JavaScript 함수를 호출합니다.

감사합니다,

+0

그냥 참고 사항 : O는 소문자 여야합니다. setTimeout() – M4N

관련 문제