jqueryにはload()メソッドがあり、使用方法は以下の通りです: $("#div").load("/index.html"); このようにして、index.htmlをIDのコンテナに読み込むことができます。 div、use
iframe も実装できますが、上記の方法ほど完璧ではありません。たとえば、ログイン時にレイヤーがポップアップ表示されますが、これも読み込まれたページです。 about:blank がステータス バーの左側に表示されます。iframe が使用されているかどうかはわかりませんが、ソース コードを表示すると、iframe を編集できることに注意してください。ロードされたページのソースコードが表示されるかどうかはわかりませんが、jquery と同じ分析方法を使用してヘッドを分析し、ロード中のページのヘッダー情報をメインページのヘッドに追加しました。次に、eval() 関数を使用して JavaScript コードを実行します。解決策は次のとおりです。ページのソース コードをロードするコンテナーの名前は do.html です。 .html ロードするページです。
デモの例: http://mi.8866.org:2/management.aspx/ クリックするだけでログインできます
このページは 2 つの js ファイルをロードします
do.html のソース コードは次のとおりです:
Loading... 🎜>"); document.write("" ); window.onload=function(){ j.plus.loadPage({uri:"/",time:1},{
start:function(){/*開始する受信関数読み込み*/}、
over:function(){/*読み込みを完了する受信関数*/}});
}
loadPage は次のように定義されます:
コードをコピーします
plus.prototype.loadPage=function(r,callback ,e,times){
/*
r リクエスト; r.time: 読み込み待機時間 (ミリ秒);
callback: 受信関数 (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='読み込み中 ';}}、
error:function (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 timer( r.time,func);t.start();}/*遅延表示*/
else func();
}});
}
/*aj は ajax リクエスト オブジェクトですglobal.js で定義されている
* timer は plus.js で定義されているタイマーを実装するコードです*/
関数の定義が完了しました。必要な箇所にコードを追加しますロードする:
File:/management.aspx/
コードをコピーします
do.html がキャッシュされるので、do.js で ajax を使用して、返された html を do.html に出力します。
オンライン デモのアドレス
http ://demo. jb51.net/js/menu_iframe/index.htm