1

ajax ページをロードするときに関数を実行しようとしています。index.html では page1.html をロードしています。page1.html には、ページがロードされたときに実行したい関数があります。

私は多くのことを試しましたが、運がありません。

アラートを含む関数を実行したいだけだとしましょう。それはどのように見えるでしょうか? ありがとう!

jquery を使用して page1.html を取得しています。page1.html には、Facebook からいくつかのアルバムを取得するための次のコードがあり、ページの読み込み時にコードを実行したいだけですか?

alert('onload');

//get album name
FB.api('/1424613333333/albums', function(response) {

  if (response && response.data && response.data.length){
    var ul = document.getElementById('fb-albumslist');
    for (var i=0, l=response.data.length; i<l; i++) {
     if (response.data !== "undefined"){    
      var
        album = response.data[i],
        li = document.createElement('li'),
        a = document.createElement('a');
        if(!album.link) continue;
      a.innerHTML = album.name;
      a.href = album.link;
      li.appendChild(a);
      ul.appendChild(li);

    }
   }
  }

  });
 FB.XFBML.parse( document.getElementById('fb-albumslist') );

}

そして、これを使用してajaxページをロードします:

function loadPage(url) {

      $('#guiden_menyn').load('manmade/guiden/guiden_menyn.html #content', hijackLinks);

      $('#container').load(url + ' #content', hijackLinks);

}
function hijackLinks() {
    $('#guiden_menyn a').click(function(e){
        e.preventDefault();
        loadPage(e.target.href);
    });


}
4

3 に答える 3

0

jquery ロード (http://api.jquery.com/load/) を使用してみてください。ロードが完了した後にコールバックを提供します

于 2012-04-05T07:51:41.033 に答える
0

無理だと思います。ただし、ajaxの後に手動で関数を呼び出すことができます

于 2012-04-05T07:49:16.400 に答える
0

これは 1 つの方法です。応答を解析し、スクリプトを抽出してから評価します。

responseHTML 内で JavaScript を実行する

于 2012-04-06T04:43:50.260 に答える