Wie eine neue Funktion auf Fenster oder selbst erstellen (die durch lib.d.ts zugewiesen Schnittstelle Fenster hat)?

stimmen
1

offensichtlich versuche ich, facebooks async init zum Laufen zu bringen. genannt „fbAsyncInit“ tun es, ich brauche eine Funktion auf Objektfenster zu erstellen. Ich habe simillar Problem, wenn Web-Arbeiter zu schreiben, weil es ich self.postMessage verwenden möchten, aber selbst wird wieder als Interface Schnittstelle Fenster mit. Aber ich versuche, es zu tun, der Typescript-Compiler ist nicht glücklich mit mir ein Feld Fenster hinzugefügt, die nicht in Window-Schnittstelle angegeben ist. Ich habe versucht, es so auf dem ersten zu tun:

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

declare var window: WindowFB;

das hat nicht geholfen, so habe ich versucht, ein paar andere Dinge und verwalteten Typ checker glücklich zu bekommen, aber es scheint, wie es gerade abgehört wird (weil für die Lösungen nicht glücklich zu 100%). Weiß jemand, was die richtige Lösung für dieses sein könnte?

Veröffentlicht am 07/10/2012 um 22:24
quelle vom benutzer
In anderen Sprachen...                            


1 antworten

stimmen
3

Das ‚Fenster‘ Schnittstelle ist offen. Sie können einfach schreiben:

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

window.fbAsyncInit();

Aufgrund einiger Bugs um lib.d.ts, wird dies nicht ganz im Typoskript Spielplatz arbeiten, aber die Kommandozeilen-Compiler sollten dies akzeptieren können.

Beantwortet am 07/10/2012 um 22:36
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more