如何捕获Uncaught typeerror:无法读取undefined的属性'datatable'。错误

时间:2017-07-28 15:02:06

标签: javascript google-maps typeerror typeof adblock

当我关闭Google API时,我收到“未捕获的TypeError:无法读取属性'DataTable'的未定义”消息。

我想抓住这个未定义的错误并弹出一个窗口,说“Google已被禁用”,但我不确定哪个typeof对象未定义。我正在检查“DataTable”对象,但我很确定这是错误的,因为无论现在窗口是否弹出。

这是我的代码。

var data = new google.visualization.DataTable();
if(typeof DataTable == "undefined"){
window.alert("sometext");
} else {
data.addColumn('string', 'Name');
data.addColumn('string', 'Manager');
data.addColumn('string', 'ToolTip');
data.addColumn('string', 'Type');
data.addColumn('string', 'Code');
data.addColumn('string', 'Aggregation');
data.addColumn('string', 'Stage');

data.addRows([
<xsl:apply-templates select="/*" mode="render"/>
['1','2','3','4','5','6','7']
]);

data.removeRow(data.getNumberOfRows() - 1);

drawDebugFlow(data);
}

1 个答案:

答案 0 :(得分:2)

而不是:

if(typeof DataTable == "undefined"){

使用:

if(typeof google == "undefined" || typeof google.visualization == "undefined"){

错误是"未捕获的TypeError:无法读取属性' DataTable'未定义"不是"数据表未定义"