2013-05-17 1 views
0

내 사이트의 내비게이션 시스템에서이 코드를 사용하고 있습니다. 목적은 div ... (InnerHTML) 내에서 HTML 페이지를 여는 것이지만 클릭 할 때입니다. 내 메뉴 링크 중 하나 JavaScript 알림 "문제 :"(JavaScript 코드 블록의 "else"참조)가 나타납니다. 이 코드는 SEO 측면에서 해결되었습니다.내비게이션 용 JavaScript 코드 사용하기 (InnerHTML)

누군가가 문제가 무엇인지 말해 줄 수 있습니까? 최대한 코드를 보존하려고 노력 중입니다.

도움을 주셔서 감사합니다.

자바 스크립트 코드 :

function processAjax(url) 
{ 
    if (window.XMLHttpRequest) { // Non-IE browsers 
     req = new XMLHttpRequest(); 
     req.onreadystatechange = targetDiv; 
     try { 
      req.open("GET", url, true); 
     } 
     catch (e) { 
      alert(e); 
     } 
     req.send(null); 
    } else if (window.ActiveXObject) { // IE 
      req = new ActiveXObject("Microsoft.XMLHTTP"); 
      if (req) { 
       req.onreadystatechange = targetDiv; 
       req.open("GET", url, true); 
       req.send(); 

    } 
} 
return false; 
} 

function targetDiv() { 
    if (req.readyState == 4) { // Complete 
      if (req.status == 200) { // OK response 
       document.getElementById("containerDiv").innerHTML = req.responseText; 
      } else { 
      alert("Problem: " + req.statusText); 
      } 
    } 
} 

HTML 본문은 :

<a onclick="return processAjax(this.href)" href="example.html">CLICK ME</a> 
<div id="containerDiv"></div> 
+0

'이 코드는 SEO 측면에서 고정 (양호)'입니다. 이는 전혀 사실이 아닙니다. 당신의 코드는'href'를 보존한다는 점을 제외하면 SEO와는 아무런 관련이 없습니다. – SLaks

+0

"문제"경고가 표시되면 AJAX 요청이 일종의 HTTP 오류를 발생시키고 있습니다. 권한 문제 일 수도 있고 잘못된 경로/URL이있을 수도 있습니다. –

답변

0

는 서버가 아닌 200 응답을 반환했습니다. Firebug, Chrome 개발자 또는 IE Developer와 같은 디버거를 사용하는 경우 Network 탭을 확인하여 XHR의 정확한 위치와 응답을 확인하십시오.

+0

SLaks 나 자신을 설명하지 않았다, 나는 링크가 내가 표시됩니다 그래서 Google sitemap XML 파일을 생성 할 수있는이 방법보다 ment – shmnsw