다음 시나리오는 내가 가지고있는 문제입니다. Javascript가이 시나리오를 관찰하여 실행될 때 jQuery가 준비되어 있지 않아야한다는 결론에 도달했습니다.jQuery 준비가되지 않았을 때 자바 스크립트 실행
시나리오 :
나는 현재로드 된 DOM 페이지에 자바 스크립트 스크립트 태그를 주입하는 Java 응용 프로그램이 있습니다. 다음 자바 코드는 인 jailery.js과 myCode.js을 삽입하는 인라인 자바 스크립트를 실행합니다. myCode.js에는 자바 스크립트 코드가 있습니다. 이 Java 응용 프로그램에서
browser.executeJavaScript("var head= document.getElementsByTagName('head')[0];" +
"var script= document.createElement('script');script.type= 'text/javascript';script.src= 'jquery.js';head.appendChild(script);" +
"var script4= document.createElement('script');script4.type= 'text/javascript';script4.src= 'http://myCode.js';head.appendChild(script4);");
는 또한
의 actionPerformed()에 myCode.js에서 함수를 발생시키는
buttonListener이있다;
executedJS = browser.executeJavaScript("replaceAllLinks()");
발생하는 문제는 단추를 클릭하면 위의 행에서 nullPointerException입니다. null 케이스의 결과는 변경없이 무한 루프가됩니다.
while(executedJS == null) browser.executeJavaScript("replaceAllLinks()");
문제의 원인의 jQuery 함수, 메소드) (replaceAllLinks 안에 존재할 때까지 정확히시켰다 자바 스크립트 기능. jQuery 메서드가 없으면 문제가 발생하지 않았습니다. nullPointerException 발생한 인스턴스가 하나도 없습니다.
유일하게 가능한 기본 문제는 어떻게 든 jQuery 라이브러리가 완전히로드되지 않은 것입니다. replaceAllLinks();이 실행 중입니다. jQuery 메서드와 함수가 사용되지 않으면 문제가되지 않으며 모든 것이 제대로 실행됩니다.
제 질문은 jQuery가 완전히로드되어 사용 가능한지 어떻게 확인할 수 있습니까?
$ (문서) .ready는 어디에 있습니까? – jmort253