2011-03-09 7 views
0

내 클래스의 underscore.js 라이브러리에서 메서드를 호출하려고합니다. 이런 식으로 뭔가 :내 클래스의 자바 스크립트 라이브러리 (underscore.js) 사용

document.write('<scr'+'ipt type="text/javascript" src="Helpers/underscore-min.js" ></scr'+'ipt>'); 
function MyObject(object){ 
    this.object = object; 

    this.RandomMethod = function(object) 
    { 
     var result = _.isEqual(object, this); 
    } 
} 

는 내가 객체 선언의 외부에서 그것을 할 경우 사용할 수 있어요,하지만이 같은 액세스하려고하면, 오브젝트가 존재하지 않습니다.

누군가 도울 수 있습니까?

+0

그 곳에서'console.log (_)'를하면 어떨까요? – pimvdb

+0

'_'이 (가)로드 되었습니까? – Raynos

+0

그건 라이브러리를로드하는 데 방해가되는 방법입니다. 또한 게시 한 코드는 "RandomMethod"함수라고 부르지 않습니다. 실제로 오류가 발생하면 어떻게됩니까? – Pointy

답변

1

스크립트가 비동기 적으로로드되기 때문에 추가 할 스크립트에 아직로드 할 시간이 없습니다. 이를 테스트하려면 스크립트 실행을 지연시키기 위해 시간 초과를 추가하십시오.

document.write('<scr'+'ipt type="text/javascript" src="Helpers/underscore-min.js" ></scr'+'ipt>'); 
setTimeout(function() { 
    //your code here 
}, 2000); //delay for 2 seconds to give script time to laod 

이것은 해결책이 아니며 문제를 확인하는 방법 일뿐입니다.

4 ways to dynamically load external JavaScript(with source)

당신은 네 번째 옵션을 사용 할 수 있습니다 :이이 문서 체크 아웃에 무슨 일이됩니다. 스크립트가 로딩을 마칠 때를 결정할 수 있습니다.