2012-07-23 3 views
0

누구나 어떤 문제가 있거나 왜 작동하지 않는지 알 수 있습니까?간단한 if 문이 작동하지 않게하려면?

<script type="text/javascript"> 
$(document).ready(function(){ 
    if (location.href=="http://www.example.com") {alert("test test test"); 
    } else { 
    document.location = "http://www.example.com/test"; 
    } 
}); 
</script> 
+3

정확히 무엇을하고 있으며 무엇을하기를 기대합니까? 실제 코드에서 올바른 URL을 사용하고 있습니까? –

+3

"작동하지 않습니다"는 쓸모가 없습니다. 기대하는 바가 무엇인지, 실제로하고있는 바, 예상 한 것과 다른 점,보고있는 오류 메시지 (있는 경우)를 알려주십시오. If 문에서 어떤 명령문이 따라 가고 있는지 알아내는 데 어려움이 있다면'alert' 또는'console.log'를 통해 몇 가지 기본적인 디버깅 문을 추가하십시오. – meagar

+0

창이 아닌가? 위치? – Undefined

답변

2

시도 :

<script type="text/javascript"> 
    $(document).ready(function(){ 
     if (window.location.href =="http://www.example.com") {alert("test test test"); 
     } else { 
      window.location = "http://www.example.com/test"; 
     } 
    }); 
    </script> 
+1

그런 모호한 질문에서 무슨 일이 벌어지는 지 알 수는 없지만, 문제가되는 것은 확실하지 않습니다. Chrome 버전에서 'location.href'를 테스트하면 정상적으로 작동합니다. – Matchu

+0

그게 효과가! 고맙습니다! – user1546779

+0

IE (?)에 문제가 있다면 Internet Explorer 이외의 다른 모든 브라우저에서 제대로 작동 할 수 있습니다 ... 그러나 우리는 모르겠다. 그래서 나는 정확히 내가 생각하는 것을 썼다. – Drakkainen

-4

은 왜 익명 함수 evoquing 자체를 시도하지 말라 : 당신이 (예를 들어 크롬을 사용하여) 웹 사이트로 이동하려는 경우

(function(){ 
if (location.href=="http://www.example.com") { 
    alert("test test test"); 
} else { 
    document.location = "http://www.example.com/test"; 
} 
})(); 
+2

이것은'document.ready'의 약식이 아닙니다; 즉각적으로 자신을 호출하는 함수를 선언하는 것입니다. 이렇게해도 문제가 해결되지 않습니다. – Matchu

+1

이것은'document.ready'의 약식이 아닌 *입니다. 문서가 준비되기 전에 코드가 거의 * 실행됩니다. 이 코드에서는 추가 오류 만 소개합니다. – meagar

+0

글쎄, 왜 우리는 그가이 익명의 기능을 익히는 자기와 함께 시도하도록하지 않는가? –

0

을 콘솔 (F12)을 열고 "location.href"를 입력하면 위치가 슬래시로 끝나는 것을 볼 수 있습니다. 대부분의 http 웹 서버에서 리디렉션되는 위치이기 때문입니다. 말미 URL이

<script type="text/javascript"> 
    $(document).ready(function(){ 
     if (location.href=="http://www.example.com/") {alert("test test test"); 
     } else { 
     document.location = "http://www.example.com/test"; 
     } 
    }); 
    </script> 

enter image description here

0

왜 현재의 위치를 ​​변경하려면 문서 준비 이벤트 대기 슬래시 그래서 확인?

console.log() 또는 alert을 사용하여 해당 부분을 건너 뛰고 속성 값을 확인하는 것이 좋습니다.

이와 비슷한 기능이 있습니다.

console.log('Current location =', window.location.href, window.location.href == 'http://www.example.com'); // DEBUG 

if (window.location.href != 'http://www.example.com') { 
    // redirect 
    window.location.href = 'http://www.example.com/test'; 
} 
관련 문제