1. 웹 페이지가 로드될 때 페이지 코드의 js 파일 참조(아래 참조)는 서버에 대한 http 요청을 생성합니다. 왜냐하면 body.onload 이벤트 이전에 로드된 파일(여기서는 정적으로 로드된 파일이라고 함)이 서버에 대한 http 요청을 생성합니다. 서버의 http 요청을 줄이기 위해 각 페이지에는 최대 하나의 js 파일 참조만 있어야 한다고 주장합니다.
2. body.onload 이벤트 후에 파일을 로드합니다. 파일을 동적으로 로드할 때) 브라우저는 먼저 캐시 파일을 검색합니다. 캐시 파일이 없으면 서버에 http 요청을 보냅니다. 따라서 파일의 동적 로드와 정적 로드를 옹호합니다. body.onload 이벤트 이전의 파일은 정확해야 합니다.
3. 이 시스템 프로그램은 기능 모듈에 따라 단일 파일로 나누어져 있으며, 모든 스크립트 프로그램 코드를 한꺼번에 다운로드하는 대신 런타임 중에 요청 시 /source/js/system.js에 다운로드되므로 네트워크 대역폭 사용량이 줄어듭니다. .
4. 웹사이트에서 js 코드를 호출할 때 인코딩 문제를 방지하기 위해 프로그램의 모든 한자는 이스케이프 기능으로 인코딩됩니다. 단일 웹사이트에서만 사용되는 경우 인코딩을 다시 한자로 변경할 수 있습니다. .
5. "이 웹사이트 자체 사용"으로 표시된 모든 기능이나 클래스는 이 웹사이트의 백그라운드에서 사용자 정의된 데이터 유형과 관련될 가능성이 높습니다.
다음은 /js/Load.js 프로그램과 설명입니다.
var IsBody={};
//js 프로그램 파일을 동적으로 로드하기 위한 코드 정의
eval("IsBody.AppendJs=" (IsBody. AppendJsCode=" 함수(){var A=(typeof(arguments[0])=='string'?arguments:arguments[0]);for(var i=A.length-1;i>=0;i- -){ var J=document.createElement('script');J.언어='javascript';J.type='text/Javascript';J.src=A[i];document.getElementsByTagName('head') [0] .appendChild(J);}};"));
//document.body가 로드되었는지 테스트
IsBody.Try=function()
{
if (document.body&& ((this.IsIE=(document.readyState!=null))?document.readyState.toLowerCase()=='complete':true))
{ //document.body가 로드된 후 결정 브라우저가 IE이든 FoxFire이든 이 프로그램은 현재 이 두 브라우저를 지원합니다.
clearTimeout(this.Interval)
if(typeof(LoadCssFile)!='undefine')
{ //CSS의 동적 로딩 파일은 또한 서버 http 요청 수를 줄이기 위한 것입니다(여기서는 LoadCssFile이 배열이라는 점에 유의하세요)
var C=LoadCssFile,j=C.length,i=1
while(i{
var J=document.createElement ('link');J.rel='stylesheet';J.type='text/css';J.href=C[i ];document.getElementsByTagName('head ')[0].appendChild(J);
}
}
//동적 이미지 로딩, 서버의 http 요청을 줄이는 것도 목적입니다
if(typeof(LoadImage)!= '정의되지 않음') this.AppendJs('/source/js/LoadImage .js');
//동적 로더 본문 시스템
this.AppendJs('/source/js/System.js')
}
};
IsBody.Interval= setInterval('IsBody.Try();',100);