2014-10-09 2 views
0

이상한 문제가 있습니다. 이 회사의 표준 브라우저 인 IE8에서 작동하지 않는 IIS 서버에서 호스팅되는 웹 응용 프로그램이 있습니다. 그것은 크롬에서 작동합니다. 나는 또한 내 Google 드라이브에 호스팅 된 동일한 파일을 넣었으며 IE8에서도 작동합니다. IE8에서도 파일이 내 바탕 화면에있을 때도 작동합니다.은 IE8의 자바 스크립트에서 문자열을 구문 분석 할 수 없습니다.

특히이 문제는 앱이 해당 서버에서 호스팅 될 때 IE8의 자바 스크립트가 문자열을 구문 분석하지 않기 때문에 발생합니다. 다음은 몇 가지 예제 코드입니다 :

<!doctype html> 
<html> 
<body> 
<script type="text/javascript"> 
var test='test'; 
console.log(test[2]); 
</script></body> 
</html> 

그게 전부입니다. 전체 문서. 나는 IIS 서버에이를 개최하고해야처럼 대신 로깅 s의, IE8의 콘솔을 열 때, 나는 심지어 IE8에서 s을 얻을, 내가 어디 다른 파일을 호스팅 할 때

LOG: undefined 

크롬, 난 s를 얻을 수 . 하지만 IE8에서 보았을 때이 서버에서 호스팅되면 정의되지 않습니다. 무슨 일 이니?

+0

두 환경 모두 IE8에서 동일한 문서 모드로 실행 중이십니까? 그 구문을 사용하여 문자열을 참조 할 수없는 IE7 또는 IE8이었습니다. –

답변

0

IE8은 문자열을 문자 배열로 지원하지 않을 수 있습니다. 이 질문을보십시오 How do you get a string to a character array in JavaScript?

브라우저의 호환성 모드를 변경하는 서버에 이르기까지 수도 있습니다.

대신

window.console&&console.log(test.charAt(2)); 

내가 콘솔이

+0

이 응답의 로깅 부분이 적절하다고 생각하지 마십시오. Ie8에는 콘솔이 있습니다. –

+0

하지만 분명히 밝혀지지 않았기 때문에 그가 정의되지 않았 음을 알기 위해 기록 할 수있었습니다. –

1

그것이 호환성보기 문제였다 밝혀 열려 있지 않은 경우 window.console&&가 IE8에서 오류가 발생하지 않도록 추가하고 않습니다. 호환성보기가 해제 된 코드는 작동하지 않습니다. 모든 컴퓨터는 호환성보기에서 인트라넷 사이트를 보았으므로 호환성보기를 방지하기 위해 html 머리글에 <meta http-equiv="X-UA-Compatible" content="IE=8" />을 추가했습니다. 이제 앱이 작동합니다.

+1

- IE를 좋아해야합니다. –

+0

내 대답은 _it은 브라우저의 호환성 모드를 변경하는 서버에있을 수도 있습니다 ._ – mplungjan

관련 문제