gwt 지연로드
답변
나는 이것이 당신이 찾고있는 것이라고 생각합니다.
<body onload="onloadHandler();">
<script type="text/javascript">
function onloadHandler() {
if (document.createElement && document.getElementsByTagName) {
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = './test.js';
var heads = document.getElementsByTagName('head');
if (heads && heads[0]) {
heads[0].appendChild(script);
}
}
}
function iAmReady(theName) {
if ('undefined' != typeof window[theName]) {
window[theName]();
}
}
function test() {
// stuff to do when test.js loads
}
</script>
은 -
iAmReady('test');
테스트 및 Windows, IE 6와 오페라 9.52 파이어 폭스 2, 사파리 3.1.2에서 작업 test.js. 나는 그것들의 업 레벨 버전이 잘 작동한다고 가정한다.
로드가 비동기임을 유의하십시오. appendChild()
을 호출 한 직후로드 된 파일에서 함수 또는 변수를 사용하려고하면 스크립트가 완료 될 때 초기화 함수가 실행되도록로드 된 스크립트 파일에 콜백이 포함 된 것입니다. 로드.
로드 된 스크립트의 맨 아래에있는 내부 함수를 호출하여로드 된 스크립트를 수행 할 수도 있습니다.
로드하는 모듈에 필요한 (또는 오히려 필요할 수있는) 모든 Java 코드가 단일 JavaScript 파일로 컴파일되므로 GWT가이를 쉽게 지원하지 않습니다. 이 단일 JavaScript 파일은 클 수 있지만 중요하지 않은 모듈의 경우 JavaScript로 작성된 동급 파일보다 작습니다.
생성 된 단일 JavaScript 파일이 너무 큰 시나리오가 있습니까?
응용 프로그램을 여러 개의 GWT 모듈로 나눌 수 있지만 모듈간에 코드를 공유하는 기능이 제한된다는 것을 기억해야합니다. 따라서 한 모듈이 다른 모듈이 참조하는 동일한 클래스를 참조하는 클래스가있는 경우 공통 클래스의 코드가 두 번 포함됩니다.
효과적으로 모듈은 두 개의 개별 클래스 로더를 통해 같은 클래스를로드하면 Java에서 얻는 것과 유사한 자체 네임 스페이스를 만듭니다. 실제로 GWT 컴파일러는 코드에서 참조되는 메소드 (즉, 불필요한 코드 제거)에서만 컴파일되기 때문에 하나의 모듈에는 공통 클래스에서 다른 모듈로 다른 메소드 서브 세트가 포함될 수 있습니다.
하나의 모 놀리 식 모듈로 모든 모듈을로드할지 여부를 결정해야하며 누적 코드 크기가 단일 모듈 방식보다 훨씬 클 수있는 모듈이 여러 개있는 것이 좋습니다.
GWT는 사용자가 동일한 버전의 모듈을 한 번만로드해야하므로 (이후에 캐시 됨) 대부분의 경우 선행 적중이 바람직합니다.
iPhone 또는 iPod touch를 사용하여 "하나의 선행"방식으로 큰 GWT 응용 프로그램을로드하려고하면 절대로드되지 않습니다.
모듈 방식은 관리가 더 복잡하지만 더 작은 클라이언트 장치의 경우 더 좋습니다.
이제 iFrame을 사용하지 않고 Java 코드에서 모듈을로드하려면 어떻게해야합니까?
- 에릭
체크 아웃 GWT.runAsync뿐만 아니라 GWT 프로젝트에서 자바 스크립트의 지연로드로가는 아래의 구글 I/O의 이야기. *는, * 비중 :
- 1. GWT 지연로드
- 2. 엔티티 프레임 워크에서 지연로드, 지연로드 및 예고로드
- 3. nhibernate 지연로드
- 4. UIwebview 지연로드
- 5. XmlDocument의 지연로드
- 6. MEF로 지연로드?
- 7. 지연로드 Infragistics Ultragrid
- 8. PHP 지연로드 반복자
- 9. UScroll보기 지연로드 언로드보기
- 10. TabControls에서 지연로드 (MVVM)
- 11. ItemsControl Items 소스 지연로드
- 12. 개체 컬렉션에서 지연로드
- 13. 엔티티 프레임 워크 지연로드
- 14. 지연로드 플래시 객체
- 15. 재사용 지연로드 문제
- 16. 대용량 쿼리 지연로드
- 17. 이음새 페이지의 지연로드 부분?
- 18. 최대 절전 모드에서 지연로드
- 19. 지도보기에서 지연로드 중?
- 20. SWT TabFolder 지연로드
- 21. NUnit에서 지연로드 TestCaseSource
- 22. ActionScript의 비동기 지연로드
- 23. UISearchDisplayController 및 이미지 지연로드
- 24. 지연로드 및 Nhibernate에서 열심히로드
- 25. 백본 관계형 지연로드
- 26. Flex 4 트리 지연로드
- 27. tableView : cellForRowAtIndexPath : 지연로드 문제
- 28. JPA 지연로드 이해
- 29. 삽입 후 지연로드 속성
- 30. 코어 데이터 지연로드 문제
학자 인 (25:30 시간 정도) – GEOCHET