2010-12-16 5 views
0

임시로 전역 변수 'num'을 포함하는 temp.js 파일이 있습니다.이 파일에는 숫자 0을 1 씩 증가시키는 Increment() 함수가 있습니다.모든 페이지에서 액세스 할 수있는 javascript 변수를 유지 관리하고 액세스하는 방법은 무엇입니까?

두 개의 html 파일 Page1.html과 Page2가 있습니다. .html. 둘 다 temp.js file()을 참조합니다. 두 페이지 모두 자바 스크립트를 호출하고 다른 페이지로 이동하는 데 사용되는 버튼이 있습니다. 즉, Page1.html에서 버튼을 클릭 할 때 Page2.html로 이동하고 그 반대도 마찬가지입니다.

페이지에서 탐색하기 전에 Increment() 함수를 호출합니다. 내가 보는 것은 num은 항상 0으로 초기화되고 Increment 함수는 1로 설정합니다. 원하는 것은 num을 처음으로 0으로 설정하고 나중에 함수를 호출 할 때마다 1 씩 증가시킵니다.

어쨌든 위의 내용을 확인할 수 있습니다. 필자는 쿼리 링을 사용하여 값을 전달하거나 어떤 종류의 마스터 페이지를 유지하는 것을 배제합니다.

답변

1

쿠키를 쓸 수 있습니다. 그것이 당신이 할 수있는 최선의 방법입니다.

1

가장 좋은 방법은 변수를 쿠키에 쓰는 것입니다. 이 방법은 존재하는 가장 쉬운 스푸핑 방법 중 하나이므로 카운터가 어떤 식 으로든 "중요"하면이 작업을 수행하지 않아야합니다.

이 마지막 경우 가장 좋은 방법은 세션 변수에 카운터를 저장하는 것입니다. 1) 서버 측 언어 (예 : PHP, ASP, Perl) 2) 세션을 업데이트하는 서버의 페이지에 대한 비동기 호출 (AJAX)이 필요합니다.

+0

그리고 세션의 보안 구현 : –

+0

@Macy 수도원 : 물론! – nico

0

Page1.html을 iframe 처리 한 마스터 페이지가있을 수도 있습니다. iframe에서 Page2.html로 이동하면 상위 페이지의 컨텍스트가 여전히 존재합니다. 그런 다음 parent.counter를 사용하여 프레임의 두 문서에서 전역 카운터를 참조 할 수 있습니다.

그러나 iframe을 사용하면 페이지로드시 하나의 추가 HTTP 요청이 추가되고 브라우저가 소비하는 추가 리소스가 발생합니다. 그것은 또한 귀하의 사이트를 복잡하게 만들 것입니다. 쿠키 솔루션은 서버에 발행 한 모든 요청에 ​​바이트를 추가합니다. 너의 선택.

관련 문제