2010-06-11 8 views
0

검색 기능을 사용하기 전에 많은 양의 검색 관련 데이터를 iframe에로드해야하는 오프라인 전용 도움말 시스템에서 작업하고 있습니다. 프로젝트의 폴더 구조 때문에 Ajax 관련 백그라운드로드 메소드를 사용할 수 없습니다. 필자가 필요로하는 파일에 몇 개의 디렉토리가 "계속해서로드"됩니다.jQuery/Ajax를 사용하지 않고 백그라운드에서 자바 스크립트를 iframe에로드 하시겠습니까?

나머지 웹 페이지가로드 될 때까지 도움말 데이터의로드를 지연시키는 코드를 작성했습니다. 도움말 데이터는 시스템에 설치된 도움말 책에있는 용어에 대한 정보가있는 여러 개의 javascript 파일로 구성됩니다.

이 도움말 데이터를 숨겨진 iframe에로드하기 시작할 때까지 웹 페이지가 정상적으로 작동합니다. javascript 파일이로드되는 동안 웹 페이지를 사용할 수 없습니다. 마우스 오버시 작은 파일을 다운로드해야하는 링크는 효과가 나타나지 않고 자바 스크립트 (페이지 전환 탭)는 아무 효과가 없습니다.

이것이 자바 스크립트가 작동하는 방식의 한계인지 궁금한 점이 있거나 여기에 다른 문제가있는 경우 궁금합니다. 도움말 시스템 용으로 모든 파일이로드되면 웹 페이지가 예상대로 작동합니다.

function test(){ 
    var MGCFrame = eval("parent.parent"); 
    if((ALLFRAMESLOADED == true)){ 
     t2 = MGCFrame.setTimeout("this.IHHeader.frames[0].loadData()",1); 

} 
    else{ 

    t1 = MGCFrame.setTimeout("this.IHHeader.frames[0].test()",1000); 
    } 
    } 

로드 데이터는 단순히 데이터로드 프로세스를 시작합니다.

도움을 주셔서 감사합니다.

답변

0

상당량의 자바 스크립트 파일을로드 중입니다. 약 200 개 정도였습니다. 나는 몇몇 파일들을 결합하고 다른 것들을 위해 jquery의 getScript 함수를 사용함으로써 지연을 최소화했다. 이러한 모든 파일을로드하는 동안 브라우저를 잠글 수 없도록하기 위해 다운로드해야하는 파일 목록이있는 전역 배열을 채운 다음 재귀 적으로 호출하여 100ms를 기다린 다음 getScript라는 자체 함수를 호출했습니다. 이로 인해 브라우저를 사용할 수 없게 만들지 않고 파일을로드하는 데 도움이되었습니다.

+0

계속이 주제의 계속 : http://stackoverflow.com/questions/4158102/loading-large-amount-of-data-into-emory-most-efficient-way-to-do-this – user210099

관련 문제