2010-04-12 3 views
0

Zopim 채팅 클라이언트를로드하려고합니다. 일반적으로 문서 쓰기 작업에 포함됩니다. 이로 인해 domReady 함수가 시작되기 전에이 함수가로드되기 시작합니다.외부 스크립트를 동적으로로드하고 액세스하여 domready 함수를 트리거 할 수 있습니다.

나중에로드하고 싶습니다.이 스크립트는 프로토 타입 (Magento가 결정한 프레임 워크)을 사용하여 새 스크립트 요소를 만들고 머리에 부착하여 작동합니다. 스크립트는 완벽하게로드되지만 domReady는 실행되지 않으므로 스크립트가 시작되지 않습니다.

스크립트는 내가 모든 기능 {} UPDATE에 캡슐화하는 것을 의미 이것에 의해, 무명 클래스 : 미안 해요, 내가 가진 그 잘못은 자기 호출 기능, 첫 번째 답변으로 동일한 구문과 같습니다 제안해라. (함수 C() { })();

이 함수 호출은 다양한 브라우저에서 domReady 이벤트에 대한 수신 대기 이벤트를 설정하고 대기 할 때 호출됩니다. domready 이벤트가 발생하면 모든 것을 시작하는 함수 (자체 호출 함수 내에 있음)를 호출합니다. 필요한 것은이 함수에 어떻게 든 접근하는 것입니다. END 업데이트하는 것이 내

는 C.

라는 함수가

어떻게 내가 직접이 함수를 호출 할 수 입니까?

다른 방법으로 말해서 domready가 작동하지 않을 때 외부 JavaScript 파일을 시작할 수 있습니까?

외부 자바 스크립트 파일을 변수에로드 할 수있어서 클래스 이름을 지정할 수 있습니까? 이름없는 클래스 {}에 스크립트 태그를 통해 액세스 할 수 있습니까? 외부 파일/자바 스크립트를 변경하여 내가 트리거 할 수있는 다른 이벤트를 찾도록 할 수 있습니까?

제가 생각할 수있는 유일한 해결책은 iframe을 만들고 그 안에 스크립트를로드하는 것입니다. 당신이 domready가 이미 해고 된 후 비동기 로딩 후 발사하려면

답변

0

, 당신은이 작업을 수행 할 수 있습니다

당신의 기능을 확인 C에게 자기 호출 기능에 의해 :

(function C(){ 
})(); 

으로 이 방법을 사용하면 외부 스크립트를 변경할 수 있습니다.

+0

이것은 이상적이지 않을 것입니다. 외부 스크립트는 제게 속한 것이 아니며 전체 스크립트는 설명 된대로 자체 호출 함수이기 때문에 함수를 호출하거나 dom dom을 어떻게 든 트리거해야합니다. – Didier

+0

"이름이없는 클래스"가 무슨 뜻인지 잘 모르시겠습니까? 자바 스크립트가 어떻게 생겼는지에 대한 간단한 예제를 제공 할 수 있습니까? RE는 자체 호출 함수를 만드는 것이 아무것도 기다리지 않는다는 의미가 아니라 DOM 준비와 아무 관련이 없습니다. – InfinitiesLoop

+0

불행히도 나중에 스크립트를로드하지 않고 스크립트를 수정하지 않고도 함수를 실행할 수 있다고 생각하지 않습니다. 스크립트는 domready를 트리거하는 방식으로 설계되었습니다. 나중에

관련 문제