jquery에는 load() 메서드가 있으며 사용 방법은 다음과 같습니다. $("#div").load("/index.html") 이 방법으로 index.html을 ID가 있는 컨테이너에 로드할 수 있습니다. div,
iframe을 사용하는 것도 가능하지만 위의 방법만큼 완벽하지는 않습니다. about:blank가 상태 표시줄 왼쪽에 나타납니다. src를 about:blank로 설정한 다음 iframe을 편집하면 됩니다. 로드된 페이지의 소스코드가 보이지 않네요.. 이런 경우인지는 모르겠지만 jquery와 동일한 분석 방법을 사용하여 헤드를 분석한 후 메인 페이지의 헤드에 로딩 페이지의 헤더 정보를 추가했습니다. , 그리고 eval() 함수를 사용하여 자바스크립트 코드를 실행했습니다. 해결 방법
아래 페이지 소스 코드를 로드하는 컨테이너의 이름을 do.html로 지정했습니다. .html 로드할 페이지
예제 데모: http://mi.8866.org:2/management.aspx/ 로그인하려면 클릭하세요
이 페이지는 두 개의 js 파일을 로드합니다
do.html 소스코드는
Loading... 🎜>
body>
파일:do.js
코드 복사
start:function(){/*수신 함수 시작 loading*/},
over:function(){/*로드를 완료하는 영수증 함수*/}})
}
loadPage는 다음과 같이 정의됩니다.
코드 복사
/*
r 요청; r.time: 로딩 대기 시간(밀리초);
콜백: 수신 함수(callback.start(), callback.over())
e.element 페이지 컨테이너;
if(!r.uri)alert('페이지 URI 매개변수를 찾을 수 없습니다!')
var aj=new ajax()
aj.request( r,{
start:function (){if(callback.start)callback.start();if(e)e.innerHTML='로드 중..';else{document.body.innerHTML='로드 중 ';}},
오류:함수 (x){if(e)e.innerHTML='로드 실패!';else document.body.innerHTML='로드 실패';},
success:function( x){
var func=function( ){if(callback.over)callback.over();if(e)e.innerHTML=x;else document.write(x);}
if( r.time){var t=new 타이머( r.time,func);t.start();}/*지연 표시*/
else func();
}})
}
/*aj는 Ajax 요청 객체입니다. global.js에 정의됨
* 타이머는 plus.js에 정의된 타이머를 구현하는 코드입니다*/
함수 정의가 완료되었으므로 필요한 곳에 코드를 추가합니다. 로드할 파일:
파일:/management.aspx/
코드 복사
do.html이 캐시되므로 do.js에서 ajax를 사용하여 반환된 html을 do.html
온라인 데모 주소
http://demo로 출력합니다. jb51.net/js/menu_iframe/index.htm