윈도우를 이용하다.name 속성, 사용자 페이지가 바뀌거나 새로 고침된 후에도 데이터는 보존

2270 단어 window
많은 친구들이 사용자가 데이터를 입력해야 하는 페이지를 만들 때 폼을 제출하고 새로 고친 후에도 사용자가 작성한 정보가 여전히 존재하기를 원하거나 한 페이지에서 다른 페이지로 전환할 때 이전 페이지의 데이터를 얻어야 한다. 현재는 몇 가지 방법으로 페이지가 이동한 후에도 작성한 정보를 저장할 수 있다.
대체적으로 윈도우의 unload 이벤트를 감청하고 터치할 때 정보를 저장할 수 있습니다.
1. 쿠키, 페이지 unload를 사용할 때 정보를 쿠키에 저장합니다.단점: 클라이언트가 쿠키를 사용하지 않을 수도 있고 다른 하나는 안전성 문제입니다.
2. 세션, 페이지 unload를 사용할 때 정보는 서버에 저장됩니다.단점: 서비스 측의 압력을 증가시킨다.
여기서 주로 세 번째 방법을 소개하는데, 바로 window를 사용하는 것이다.name 속성 저장 정보, window.name는 전역의 상호작용에 큰 역할을 하는데 기본 원리는 window이다.새 페이지를 불러오거나 새로 고친 후에도 그 값은 지난번 페이지에서 설정한 값입니다. 따라서 사용자가 입력한 정보를 저장하기 위해 이 변형을 사용할 수 있습니다.다음은 예를 들어 보여 줍니다.
<script type="text/javascript">  
window.onload = function(){
 if(window.name){
  	var userEl = document.getElementById('user'),
  	    ageEl  =  document.getElementById('age');
		
	var info = (new Function("return "  + window.name))();
    userEl.value = info.user;
	ageEl.value = info.age;   
 }
 
 document.getElementsByTagName('form')[0].onsubmit = function(){
    alert('    ,    ');	 
 } 
}
   
window.onunload = function(){
  var user = document.getElementById('user').value,
  	   age  =  document.getElementById('age').value;
   
  window.name  = '{user:"' + user + '",age:' + '"' + age + '"}'; 
  
}
</script>   

<html>
<meta http-equiv="content-type" charset=" text/html; utf-8" />
<body>
<form action="">
<label for="user">   :</label><input type="text" value="" id="user" /><br />
<label for="age">  :</label><input type="text" value="" id="age" /><br />
<input type="submit" value="  " />
</form>
</body>
</html>

상술한 코드는 페이지 제출 후 사용자 정보를 저장할 수 있는 전체 과정을 보여 준다.
그러나 나는 페이지 제출에 대한 저장 정보는 AJAX 방법이 더 잘 실현될 수 있다는 것을 인정해야 한다. 그러나 window.name의 용도는 여기에만 국한된 것이 아니라, 여기는 단지 시범일 뿐이다.
또한 F5만 누르면 FF와 IE8에서는 페이지 정보가 보존되고 크롬에서는 페이지 정보가 보존되지 않기 때문에 window.name는 크롬에서 사용자가 잘못 리셋하여 정보를 비우는 것을 방지할 수 있습니다.
window.name의 용도는 사실 매우 많은데, 크로스 필드는 현재 가장 큰 용도라고 생각합니다. 또한 한 페이지의 이동 추출 정보를 실현하는 기능도 있습니다.

좋은 웹페이지 즐겨찾기