2010-06-03 3 views
1

내가 아는 것 : - 자바 스크립트에서 데이터베이스를 변경하려면 Ajax를 사용할 수 있습니다. 따라서 제목 표시 줄의 'X'버튼을 누를 때마다 'onbeforeunload'이벤트가 호출됩니다. 이 이벤트를 통해 데이터베이스를 변경할 수 있습니다.'X'버튼을 누른 후 데이터베이스가 변경됩니다.

하지만 제 경우에는 'X'버튼을 클릭 할 때만 사용자의 상태를 변경하고 싶습니다. 페이지를 변경하지 않아도됩니다. 페이지를 변경하면 페이지가 언로드되기 때문입니다. 페이지를 닫으면 페이지가 언로드됩니다 (아는만큼).

페이지를 닫고 한 페이지에서 다른 페이지로 이동하는 방법을 구별 할 수 있습니까?

크로스 버튼을 누를 때마다 사용자 상태 (로그인/로그 아웃)를 변경하는 데 사용하고 싶습니다.

사용자가 페이지를 변경할 때 상태를 "로그 아웃"하지 않으려합니다. 사용자가 'X'버튼을 누르면 상태 "로그 아웃"으로 설정하려고합니다.

나를 도와주세요.

+0

대부분의 브라우저에서 'onbeforeunload'가 완전히 작동하지 않으므로이 기능을 사용하지 마십시오. – Starx

답변

0

자바 스크립트에서는 이탈로 인해 언로드와 언로드가 달라질 수 없습니다. 당신이 할 수있는 일

: 로그 오프가 로그 오프를 제거,보다 X 시간 전 경우 각 언로드에

  • 는 각 페이지에서 로그 오프
  • 을 넣어.

이렇게하면 사용자가 한 페이지에서 다른 페이지로 이동할 때 "다른 페이지"에 사용자가 표시되고 로그 오프가 취소됩니다.

추 신 : '로그 오프'를 위해 자바 스크립트를 사용하지 마십시오. 사용자가이를 사용 중지하거나 여러 가지 이유로 실패 할 수 있습니다. '마지막 클릭'타임 스탬프가있는 것이 유용 할 수 있으며 마지막 클릭이 너무 오래 전인 경우 사용자를 기록한 것으로 간주합니다.

+0

예, @Konerak, 맞습니다. 하지만 사용자가 사용하는 이벤트를 확인할 수있는 대체 옵션이 있습니까? 실제로 각 pageload에서 데이터베이스를 사용하면 클라이언트 측에서 페이지 업로드 속도가 느려질 수 있습니다. 그래서, 나는 내 웹 사이트에 로그인/로그 아웃 문제를 처리 할 수있는 매우 optimstic 한 방법을 찾으려고 노력하고있다. –

관련 문제