2011-10-22 5 views
1

인증 후 서버 측 코드는 기본 페이지로 이동하거나 인증 전에 사용자가 클릭 한 원래 페이지로 이동합니다. 모든 경우에 페이지는 리다이렉트 (django를 사용) 한 후에 렌더링됩니다. 이 경우 렌더링 된 페이지에서 한 번만 자바 스크립트 코드를 어떻게 실행합니까? 내가 생각할 수있는 한 가지 방법은 렌더링되는 페이지에 하나의 타임 코드가 실행되어야 함을 나타내는 "매개 변수"를 추가하는 것입니다. 그런 다음 "onload"함수는 코드를 확인하고 실행할 수 있습니다. 다른 "더 우아한"방법이 있습니까?인증 후 일회성 자바 스크립트 코드를 실행

+1

"한 번만"이라는게 무엇을 의미합니까? 코드 에서처럼 처음 사용자가 페이지를 볼 때만 발생하고 페이지를 다시로드하면 코드가 실행되지 않습니다. – Ivan

+0

'Welcome back!'배너를 표시하는 것과 같습니까? –

+0

@Ivan - 예 코드는 한 번만 실행되지만 브라우저 측면에서는 실행되어야합니다. –

답변

2

Django를 사용하여 쿠키를 설정하거나 본문에 클래스를 추가 할 수 있습니다. 클라이언트 측에서는 쿠키 또는 클래스가 있는지 단순히 확인합니다. 쿠키의 경우 JavaScript로 삭제하는 것이 가장 좋습니다.

+0

그 말이 맞습니다. 코드를 실행 한 다음 클라이언트 측에서 쿠키를 삭제할 수있었습니다. –

1

당신이 묘사하는 해결책이 우아함의 허용 범위 내에 있다고 생각합니다. 어쨌든 다른 접근법은 쿠키를 사용하는 것입니다 :

인증 페이지가 쿠키를 설정합니다. 사용자가 인증 한 페이지가이 쿠키를 확인할 것입니다. 그것이 있으면이 '한 번'코드를 실행하고 쿠키를 지 웁니다.