1

私は tumblr で無限スクロールを使用しています。実行時にロードする要素の中に、facebook のようなボタンがあります。スクリプトを初めて呼び出すとすべてが機能しますが、複数回ロードできないように見えるため、スクロール時に作成された要素には、スクリプトがロードされたときに存在しないため、機能する Facebook ボタンがありません。より多くのコンテンツがロードされた後にこれを行っても何も起こりません。

スクリプト ( http://connect.facebook.net/en_GB/all.js ) を見ると、スクリプトはページごとに 1 回しか実行されないように見えますが、これを回避する方法はありますか?

私のコード:

var js, fjs = d.getElementsByTagName(s)[0];   
js = d.createElement(s); js.id = id;
js.async=true;  
js.src = "http://connect.facebook.net/en_GB/all.js#xfbml=1&appId=484534104905547";
fjs.parentNode.insertBefore(js, fjs);
4

1 に答える 1

2

これがあなたのための簡単な解決策です。JavaScript SDK には、 という関数がありFB.XFBML.parseます。

FB.XFBML.parse - この関数は、ドキュメント内の XFBML マークアップをオンザフライで解析およびレンダリングします...

無限スクロール関数が呼び出され、さらにデータをロードしたら、この関数を再度呼び出して、新しいプラグインをレンダリングします。

ページ全体を再解析するには、この関数をそのまま呼び出すことができます -

  FB.XFBML.parse();

ページ上の特定の要素を解析したい場合は、それを関数に渡すことができます -

  FB.XFBML.parse(document.getElementById('foo'));

参照 -

于 2012-08-20T10:59:52.137 に答える