1

明らかに私はFacebookの非同期初期化を機能させようとしています。そのためには、オブジェクトウィンドウに「fbAsyncInit」という関数を作成する必要があります。Webワーカーを作成するときに、self.postMessageを使用したいのですが、selfがインターフェイスインターフェイスWindowとして再び使用しているため、同様の問題が発生しています。しかし、私はそれをやろうとしましたが、typscriptコンパイラは、ウィンドウインターフェイスで指定されていないフィールドをウィンドウに追加することに満足していません。私は最初にこのようにしようとしました:

interface WindowFB extends Window { 
    fbAsyncInit: ()=>any;
}

declare var window: WindowFB;

それは役に立たなかったので、私は他のいくつかのことを試し、タイプチェッカーを幸せにすることができましたが、それはバグがあるようです(ソリューションでは100%幸せではないため)。誰かがこれに対する正しい解決策が何であるか知っていますか?

4

1 に答える 1

3

「ウィンドウ」インターフェースが開いています。あなたはただ書くことができます:

interface Window {
    fbAsyncInit: () => any;
}

window.fbAsyncInit();

lib.d.ts に関するいくつかのバグにより、これは TypeScript Playground ではうまく機能しませんが、コマンドライン コンパイラはこれを受け入れることができるはずです。

于 2012-10-07T21:36:47.040 に答える