ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript iframe は、refreshing_javascript スキルなしでページ全体をロードするコードを実装します。

JavaScript iframe は、refreshing_javascript スキルなしでページ全体をロードするコードを実装します。

WBOY
リリース: 2016-05-16 18:32:18
オリジナル
1326 人が閲覧しました

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 は次のように定義されます:



コードをコピーします
コードは次のとおりです: if(!typeof (window.j))window.j =new js(); j.plus=new plus(); 関数 plus(){}
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/



コードをコピーします
コードは次のとおりです: var bd=j.$("mainbody"); // メインボディは div コンテナです var uri="/do.html?uri=/management.aspx/" uri; bd.innerHTML="