そのようなことをするのは非常に簡単です。
ライブラリを非同期でロードするのは簡単で、Facebookとは何の関係もありません。これは、たとえばfacebookの例を使用したjavascriptのことです。
(function(d){
var js,
id = "LIB_ID",
ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) {
return;
}
js = d.createElement("script");
js.id = id;
js.async = true;
js.src = "URL_OF_LIB";
ref.parentNode.insertBefore(js, ref);
}(document));
それはあなたのjsを非同期的にロードします。
ライブラリがロードされたことを「通知」できるようにするには、Facebookが使用しているメソッドを使用できます。これは、ウィンドウでコールバックを定義するためです。したがって、ライブラリのユーザーは次のようになります。
window.libLoaded = function() {
// Do what ever when the library is loaded
}
そして、libコードで、最後にそのコールバックを呼び出します。
window.libLoaded();
iframeを動的に作成することも非常に簡単です。
function loadFrame(url, domEl) {
var frame = document.createElement("iframe");
frame.src = url;
domEl.appendChild(frame);
}
ただし、iframeドキュメントとメインドキュメントは同じドメインを共有しないため(おそらく)、それらの間で通信することはできません。また、同じオリジンポリシーにより、ブラウザーはそれを防ぎます。