2014-06-10 4 views
1
<script> 
     var test; 

    function gameExists() { 
    var http = new XMLHttpRequest(); 
    http.open('HEAD', "/flappy.html", false); 
    http.send(); 
    if(http.status!=404){ 
     test= "true"; 
    }else{ 
     test == "false"; 
    } 

} 
    </script> 

<script> 
if(test=="true") { 
    alert('Game exists, add some code.'); 
} else { 
    alert('Download Game !'); 
$('#frame').append('<a href="path/to/flappy.html">Download</a>');} 

</script> 

이것은 로컬 파일을 사용할 수 있는지 확인하는 나의 자바 스크립트입니다. 이것은 이 로컬로 호스팅되어 있으므로 서버 측 언어를 사용할 수 없습니다. 그래서 나는 내가 뭘 잘못했는지 모르겠다. 이 일을 도와주세요. A) 제대로 검사하지 않습니다. B) 다운로드하지 않습니다. 고맙습니다. 이 코드가 현재 작동하지 않는 이유가 무엇인지 잘 모르겠습니다. 제발 도와주세요. ! 내가 도대체 ​​뭘 잘못하고있는 겁니까? 문제의로컬 파일을 사용할 수 있는지 확인하십시오.

+1

실제로 코드를 보지 않고 "true"와 "false"가 아닌 true와 false를 사용하십시오. 또한'test == "false"가 아닌'test = false'이어야합니다. – Niall

답변

1

커플 : - 그것은 말 그대로 컴퓨터의 루트의

1) 당신은 로컬 컴퓨터에, 당신이 원하는하지 않은, /flappy.html에 액세스를 시도하고 있습니다. 아마도 상대 경로를 찾고 있으니 flappy.html을 사용하십시오. 이것은 당신의 주요 문제입니다.

2) 실제로 함수를 호출하지 않습니다. 당신은 당신이 test

3의 결과를 확인하기 전에) gameExists() 전화 truefalse하지 "true""false"를 사용해야합니다.

4) test = false이 아닌 test == "false"이어야합니다. 첫 번째는 과제이고, 두 번째는 비교입니다.

jQuery가 이미 포함되어 있으므로 XMLRequest 대신 jQuery의 AJAX를 사용할 수도 있습니다. 코드의 아래쪽 절반을 실행하려면 콜백을 사용해야하지만 JSONP를 사용하면 도메인 간 요청을 할 수 있습니다.

관련 문제