program story

페이지 전체에서 자바 스크립트 변수를 유지 하시겠습니까?

inputbox 2020. 8. 5. 08:12
반응형

페이지 전체에서 자바 스크립트 변수를 유지 하시겠습니까? [복제]


이 질문에는 이미 답변이 있습니다.

다양한 페이지에서 자바 스크립트 변수를 유지할 수있는 방법이 있습니까? 페이지 AI 설정 중이라고 가정하십시오 window.someVar = 5. 그럼 난에 하이퍼 링크를 클릭을 통해 페이지 B로 이동하고 같은 것을 할 alert(window.someVar)지속 할 수있는 방법이 있나요 내가 5.를 표시하는 메시지 상자를 받아야을 - someVar같은 ... 같이가?


창의 이름 window.name을 사용하여 정보를 저장할 수 있습니다. 이것을 JavaScript 세션이라고 합니다. 그러나 동일한 창 / 탭이 사용되는 한 작동합니다.


완성도를 높이기 위해 HTML5의 로컬 스토리지 기능 및 sessionStorage도 살펴보십시오. 이들은 모든 최신 브라우저의 최신 버전에서 지원되며 쿠키보다 훨씬 사용하기 쉽고 덜 까다 롭습니다.

http://www.w3.org/TR/2009/WD-webstorage-20091222/

https://www.w3.org/TR/webstorage/ . (두번째 버전)

다음은 sessionStorage 및 localStorage를 사용하여 값을 설정하고 가져 오는 샘플 코드입니다.

 // HTML5 session Storage
 sessionStorage.setItem("variableName","test");
 sessionStorage.getItem("variableName");


//HTML5 local storage 
localStorage.setItem("variableName","Text");
// Receiving the data:
localStorage.getItem("variableName");

이 라이브러리를 살펴 보는 것이 좋습니다.

나는 그것을 정말로 좋아합니다. 쿠키에서 HTML5 스토리지, 기어, 플래시 등에 이르기까지 다양한 스토리지 백엔드를 지원합니다. 사용법이 투명 합니다. 라이브러리는 브라우저 기능에 따라 올바른 스토리지 백엔드를 선택합니다.


예, 쿠키를 사용 합니다. 그러나 조심하십시오. 너무 많이 넣지 마십시오 (4kb에는 한계가 있다고 생각합니다). 그러나 몇 가지 변수는 괜찮습니다.

그보다 훨씬 더 많이 저장 해야하는 경우 다른 답변에서 @Annie의 훌륭한 팁을 확인하십시오. 짧은 시간의 데이터 저장을 위해 쿠키가 가장 쉬운 방법이라고 말합니다.

쿠키는 클라이언트쪽에 저장됩니다.


HTML5 저장소, Flash 저장소 또는 Gears를 사용하여 값을 유지할 수 있습니다. 도장 스토리지 라이브러리는 이것에 대한 좋은 래퍼를 제공합니다.


웹 저장소를 추천합니다. 예:

// Storing the data: localStorage.setItem("variableName","Text"); // Receiving the data: localStorage.getItem("variableName");

variable변수 이름과 text저장하려는 이름으로 바꾸 십시오 . W3Schools에 따르면 쿠키보다 낫습니다.


http://rhaboo.org 를 localStorage의 래퍼로 사용할 수 있습니다 . 복잡한 객체를 저장하지만 대부분의 라이브러리와 같이 전체를 문자열 화하고 구문 분석하지는 않습니다. 많은 데이터를 저장하고 추가하거나 작은 덩어리로 변경하려는 경우에는 실제로 비효율적입니다. 또한 JSON은 숫자가 아닌 배열의 속성과 같은 중요한 것들을 많이 버립니다.

rhaboo에서는 다음과 같이 쓸 수 있습니다 :

var store = Rhaboo.persistent('Some name');

store.write('count', store.count ? store.count+1 : 1);

var laststamp = store.stamp ? store.stamp.toString() : "never";
store.write('stamp', new Date());

store.write('somethingfancy', {
  one: ['man', 'went'],
  2: 'mow',
  went: [  2, { mow: ['a', 'meadow' ] }, {}  ]
});

store.somethingfancy.went[1].mow.write(1, 'lawn');
console.log( store.somethingfancy.went[1].mow[1] ); //says lawn

BTW, 나는 rhaboo를 썼다

참고 URL : https://stackoverflow.com/questions/1981673/persist-javascript-variables-across-pages

반응형