내 HTML 코드에서 외부 js 파일을 가져 왔고 또한 자체 인라인 js 코드가 있고 내 js 코드에서 개체 메서드를 호출해야합니다 외부 js 파일에 정의되어 있습니다. 렌더링 후, 소스 코드는 다음과 같습니다다른 스크립트 태그에서 클래스 메서드를 호출하는 Javascript가 IE에서 실패합니다
<script type="text/javascript">
// content of the extenral js file
...
var bar = {};
bar.foo = {};
...
bar.foo.class = {};
bar.foo.class.method = function() {...};
...
</script>
<script type="text/javascript">
// content of my own javascript code
...
function load() {
...
bar.foo.class.method();
...
}
...
</script>
를 프레임 워크를 들어 내가 즉, (한 곳에서 두 부분을 할 수 없습니다 사용하고 하나 둘 JS 외부 파일에 또는 둘 모두 내 자신의 인라인에 js 코드). 이제이 코드는 Firefox, Chrome 및 Safari에서 작동하지만 IE에서는 작동하지 않습니다. IE 디버거에서 다음과 같은 오류가 표시됩니다. " 'foo'속성의 값을 가져올 수 없습니다. 객체가 null이거나 정의되지 않았습니다.
첫 번째 태그에 정의 된 bar.foo.class가 두 번째 태그 또는 첫 번째 태그 앞에 두 번째 태그가 실행됩니다 (첫 번째 태그는 모두 클래스 정의에 관한 것이고 실제 워크 플로는 없음).
IE에서이 문제를 해결하는 방법을 아는 사람이 있습니까? 감사!
첫 번째 동작하지 않습니다. 두 번째는 작동하지 않습니다. 그러나 흥미로운 점은 두 번째 코드를 사용하면 오류 정보가 "bar is undefined"라는 것입니다. 내 자신의 코드에서 오류 코드는 "속성 'foo'의 값을 가져올 수 없습니다 : null 또는 정의되지 않음을 유의하십시오. 나는 이것이 변수 'bar'가 두 번째 태그의 코드에 의해 인식되지만, 'foo'속성이 아니라는 것을 제안한다고 생각한다. 어쩌면 우리는 bar보다는 foo가 인식되지 않는 이유를 볼 수 있습니다 ... 그러나 나는 이것을 해결하는 방법을 여전히 확실하지 않습니다 ... – user1631973
나는 (bar)를 경고하려고했습니다. IE에서는 "undefined"를 표시하고 다른 모든 항목에서는 "{object, object}"를 표시합니다. 그래서 문제는 여전히 첫 번째 태그에 정의 된 '막대'는 두 번째 태그의 코드에 의해 인식되지 않는다고 생각합니다 ... – user1631973