1

FacebookやTwitterのJavascriptSDKの動作と同様に、アプリケーション用のjavascriptAPIメソッドを作成することを検討しています。誰かが私が同様にJavascriptメソッドを開発するのを助けることができるリソースについてアドバイスをお願いします。私は次のことをするつもりです:

  • ユーザーは、Javascriptを非同期でロードできる必要があります。
  • Javascriptが読み込まれたら、メソッドを呼び出して特定の要素にiframeを読み込みます。

人々がこれを達成する方法について私を助けることができるかどうか感謝しますか?

4

1 に答える 1

1

そのようなことをするのは非常に簡単です。

ライブラリを非同期でロードするのは簡単で、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ドキュメントとメインドキュメントは同じドメインを共有しないため(おそらく)、それらの間で通信することはできません。また、同じオリジンポリシーにより、ブラウザーはそれを防ぎます。

于 2012-05-21T06:57:23.520 に答える