2012-09-30 3 views
1

지금은 아약스와 함께 일하는 나는이 코드 조각이 :아약스 페이지로드, 사라 때 새로 고침 페이지

<script type="text/javascript"> 
function load(file,container) 
     { 
var xmlhttp, newhash = ''; 

if (window.XMLHttpRequest){ xmlhttp=new XMLHttpRequest();} 
if (window.ActiveXObject) { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");} 

xmlhttp.onreadystatechange= function(){ 
     if(xmlhttp.readyState==4 && xmlhttp.status==200) 
     { document.getElementById(container).innerHTML=xmlhttp.responseText; 
    } else { 
     document.getElementById(container).innerHTML='<div style="padding:10px">  <p>Please upgrade your web browser to support modern technology.</p></div>'; 
     } 
    } 
xmlhttp.open("GET",file,true); 
xmlhttp.send(null); 
} 
</script> 
<script type="text/javascript" src="jquery.js"></script> 
<ul> 
<li><a href="#" onclick="load('home.php','ajax');return false;">Home</a><li/> 
</ul> 
     <div id="ajax"> 



</div> 

미안 내 첫 번째 게시물입니다하지만 내 진짜 관심사는, 페이지가 될 수 있다는 것입니다을 로드 된 다음 페이지를 새로 고칠 때 페이지가 사라집니다. URL에 해시를 넣으려고했으나 여전히 작동하지 않습니다.

+0

문제는 무엇인가를 쓰기? 나는 당신의 코드를 점검하고 잘 작동하고있다. –

+0

jquery를 이미 사용하고 계시다면 jquery load로 훨씬 쉽고 깨끗하게 처리 할 수 ​​있습니다. http://api.jquery.com/load/ – hsalama

+0

@ hsalama .. 감사합니다. 감사합니다. –

답변

1

콘텐츠는 버튼 클릭에서만로드됩니다. 해시에 따라 콘텐츠를 자동으로로드하도록 브라우저에 지시해야합니다. 이를 위해

, 당신은 할 수 있습니다

- 1 href attrbiute에 지정하여, 귀하의 링크에 해시를 지정합니다. #home

<a href="#home" onclick="load('home.php','ajax');">Home</a> 

2 페이지 URL 변경을 확인하기 위해 onclick에서 return false; 제거 - 자동로드 페이지 해시에 지정된 onload 처리기를 추가합니다.

<body onload="loadHash();"> 

3 - 자동 해시 로더

<script> 
function loadHash() { 
    var hash = window.location.href.split('#'); 
    if(hash.length == 2) { 
     load(hash[1] + '.php','ajax'); 
    } 
} 
</script> 
+0

응답을 주셔서 감사합니다. 나는 이것을 통합하려고합니다 .. –