2013년 11월 22일 금요일

Uncaught ReferenceError: 변수 is not defined

Uncaught ReferenceError: 변수 is not defined

크롬에서 볼 때 위와 같은 에러 발생.

예전에 스크립트의 위치를 변경하여 해결 한 적이 있어서 이리저리 위치를 바꿔보고,
jquery 의 ready 안에도 넣어보고 해도 안됨.

문제는 위의 '변수' 부분을 외부 소스를 가져온 부분에 정의 되어 있었는데, 이걸 못 불러온것임.

위치는 제대로 되어 있는 데, 왜 못 불러 올까 한참 찾다보니 현재 접속한 페이지의 url이 https 인데,

자바스크립트를 http로 불러올려고 하면 못 불러옴.

예를 들어 현재 작업 중인 페이지가 https://www.naver.com/test.html 이다. 라고 한다면 자바스크립트 외부 소스를 불러오는 것도

<script type="text/javascript" src="https://www.test.com/test.js"></script>

위와 같이 같이 https로 맞춰주면 제대로 동작한다.

 

아래와 같이 동적으로 치리 해도 됨.
<script language='javascript'>
var targetDomain = 'maps.google.com/maps/api/js?sensor=true';
var targetURL = location.protocol=="https:"?"https://"+targetDomain:"http://"+targetDomain;
document.writeln("<scr"+"ipt language='javascript' src='"+targetURL+"'></scr"+"ipt>");

</script>

댓글 없음:

댓글 쓰기