1

すみません、私はこれが初めてです。

.html ファイルのコレクションがあり、どれが選択されているかに応じて、iframe のようなページの div にロードしています。私はこれをすべて正常に動作させることができますが、私の問題はウィンドウのオンロードイベントにあります。メイン ページで onload を動作させることはできますが、メイン ページの div にロードされたページに含まれる onload イベントは、.html ファイルに書き込むか、外部ファイルから呼び出すかにかかわらず、動作しません。$(document).ready は機能しますが、他のすべての後に javascript がロードされていることを確認しようとしています。

基本的に、divにロードされたページでウィンドウのオンロードを機能させる方法がわかりません。

どんな助けでも大歓迎です。

編集:これにより、外部ページの1つがメインページにロードされます:

$('div#socket').load('pages/' + thisTab + '.html');

ここで、thisTab はいずれかのファイルの名前であり、選択されたタブでもあります。

読み込まれたページの 1 つの下部に次のようなものが表示されます。

<script type="text/javascript">
$(document).ready(function(){
alert('1');
});

$(window).load(function(){
alert('2');
});
$(window).bind("load", function() {
   alert('3');
});
</script>

「1」だけが警告されます。

4

2 に答える 2

1

私の理解が正しければ、(ajax を使用して) メイン ページにコンテンツをロードしたときに何かを実行するオプションを探しています。ajax 読み込みメソッドのコールバック関数を使用できます。

$("#DivInsideMainPage").load("remotepage.html",function(){
   alert("This will execute only after loading the partial content") 
   //Execute the fancy code you want here    
});
于 2012-12-10T02:51:55.537 に答える
0

読み込まれたページのデモ内にスクリプトを使用してこれを行う方法:

読み込まれたページで:

<script id="loader_script" type="text/javascript">
$(document).ready(function(){
  alert('1');
});

$('loader_script').one('my_load',function(){
  alert('2');
});
</script>

メインスクリプトで:

var innerpage=$('div#socket');
innerpage.load('pages/' + thisTab + '.html',function(){
     innerpage.find('#loader_script').trigger('my_load');
});
于 2012-12-10T03:02:56.793 に答える