使TypeScript知道加载的对象

时间:2013-01-11 18:15:27

标签: javascript typescript

我正在尝试使用Google Analytics。您加载的Google js会在gapi dom对象中添加window变量。

对TypeScript进行编码时,并没有抱怨gapi对象上不存在window这一事实。

我正在尝试检测gapi文件是否已加载,如果没有,则从我的脚本中动态加载它。

GAPI没有我能找到的类型定义,所以我试图弄清楚如何检查它是否已加载到DOM中。我已经能够通过Chrome上的控制台和jQuery检查它的(非)存在,所以要么是一个选项。只是无法弄清楚如何在TypeScript中执行此操作,因为它根本不知道gapi

如果您尚未使用Google Analytics js库。它会返回window.gapigapi引用,供您在code / DOM

中使用

1 个答案:

答案 0 :(得分:3)

要让TypeScript知道您要使用的添加内容:

interface Window {
    gapi: any;
}

或更短的:

declare var gapi: any;

您可以选择充实定义。

这应该允许您使用gapi,包括在您的检测脚本中:

if (typeof gapi === 'undefined') ...