2010-03-28 6 views
1

현재 callfromjs() 메소드가 포함 된 Java 애플릿이 있습니다. Javascript는이 메소드를 애플릿에서 호출하여 애플릿 GUI를 다루지 않아도되며, DOM에서 응답을 자바 스크립트에서 쉽게 작성할 수 있습니다.자바 애플릿으로 AJAX를 사용할 때의 문제

애플릿을 처음로드하는 동안 브라우저가 멈추는 문제가 있습니다. 이 문제를 해결하기 위해 AJAX를 사용할 수 있다고 생각했습니다. AJAX는 callfromjs()를 포함하는 PHP 파일을 호출합니다. 문제는 PHP이므로 요청이 반환되고 callfromjs()가 콘텐츠를 검색 할 때까지 기다리지 않는다는 것입니다. 내 질문에

:

  1. 이 처리하는 더 좋은 방법이 있나요?
  2. 이 방법이 정상적으로 보인다면, 자바 스크립트가 애플릿에서 메소드를 호출하기 전까지 요청을 강제로 되돌릴 수 없습니까?

답변

0

애플릿이 초기화 된 동안 애플릿에 대한 LiveConnect 호출이 중단됩니다.

명백한 해결책은 JavaScript가 애플릿을 처음에 무시하는 것입니다. 애플릿이 초기화되면 JavaScript를 호출하여 활성화 할 수 있습니다.

+0

사실입니다. 문제는 내가 페이지의 특정 기능에 대해서만 애플릿을 사용하고 있다는 것입니다. 그래서 애플릿을 초기화 할 필요가 있기 때문에 모든 사용자가 응답하지 않기를 바란다. – DiglettPotato

+0

PlugIn2를 사용하면 플러그인을 초기화하기 시작할 때 일시 중지 시간이 매우 짧아야합니다. 나는 자바 스크립트를 사용하여 페이지에 애플릿/객체 태그를 동적으로 추가 할 수 있다고 생각합니다. AJAX가 필요하다는 것을 분명히 알고 있습니다. –

+1

자바 스크립트를 사용하여 동적으로 페이지에 iframe을 추가했습니다 (애플릿 포함). – DiglettPotato

0

여기에 무슨 일이 일어나는지 잘 모르겠습니다. 애플릿이 GUI 작업 자체를 수행하지 않고도 애플릿을 통해 컨텐트를 생성하려고합니까? 그리고 애플릿이로드하는 데 오랜 시간이 걸리므로 갇혀 있습니까?

그래서 애플릿을 제거하고 중요한 내용을 추출하여 서블릿으로 사용할 수있게 만드는 것이 어떻습니까? 그것과 상호 작용하여 (예 : DWR) AJAX를 Java 백엔드로 호출 할 수 있습니다 (자바 객체를 Javascript 객체로 자동 노출 시킴). 즉, 클라이언트 GUI가 빠르게 응답하고 애플릿을 사용하지 않는다는 의미입니다.

+0

이제 DWR을 살펴보십시오. 내가 사용하는 애플릿은 서명되어 있습니다. 이것은 DWR과 같은 것에서 문제가 될 것인가 아니면 "이 애플리케이션을 신뢰합니까?" 대화 상자가 표시됩니까? – DiglettPotato

+0

Java 코드 클라이언트 측이 없습니다. 브라우저의 모든 자바 스크립트입니다. –

+0

그래, DWR이 작동하지 않습니다. Java가 서버가 아닌 클라이언트에서 실행되어야합니다. – DiglettPotato

관련 문제