3

자바 스크립트 정의를 찾을 수 없습니다, 그 내용은, 내가 이런 일이 언젠가 내 HTML 파일에서이즉 6 내가 자바 스크립트 파일 a.js이

window.model={}; 

model.init=(
function(){return "something"} 
)(); 

같다 크롬, 파이어 폭스 및 ie8 작동합니다. 그러나 ie6 또는 ie7에서는 모델이 정의되지 않습니다.

이유를 모르겠습니다. 누구든지 나를 도울 수 있겠 어.

감사합니다. JS

처음 "IE6"하지만, "IE7을"인쇄
alert("ie7"); 
window.model={}; 

model.init=(
function(){return "something"} 
)(); 

를 인쇄하지

<script type="text/javascript" src="path/to/a.js"></script> 
<script type="text/javascript"> 
    $(document).ready(function() { 
      alert("ie6"); 
     model.init(); 
    }); 
</script> 

에서 :


나는 HTML에서 몇 가지 경고

를 넣어

+3

임 죄송합니다 ....... – Rooster

+4

[세계의 7.1 %가 IE6를 사용 (http://www.ie6countdown.com/), 왜 그들에게 아름다운 배너를 제공하지 브라우저를 짜증나게하고 업그레이드하거나 사라져야한다고 말하면서? –

+0

오늘 내 사용자는 자신의 브라우저에서 웹이 작동하지 않는다고 말했습니다. 그래서, 그것을 고쳐야한다 – mike

답변

1

다른 원인으로 인해 발생할 수 있습니다. 실행 명령 또는 일부 "호이 스팅"문제가 있습니다.

"var model = {}"을 사용하여 모델을 초기화 해보십시오. 그런 다음 로그에 물건을 덤프하여 실행 순서를 확인하십시오. IE에는 console.log를 사용하는 도구가 있거나 firebug 라이트를 사용해 볼 수 있습니다.

+0

나는 약간의 경고를 더한다 – mike

2

참조 모델은 사용자가 선언 한 것과 같은 방식으로 window의 속성으로 사용됩니다.

window.model.init=(function(){return "something"})(); 

$(document).ready(function() { 
    window.model.init(); 
}); 

또는 반대 작업을 수행하여이를 전역 변수로 선언 할 수 있습니다. 당신이 IE6를 지원해야

var model={};