如何正确地检测window.performance.timing的对象?

由Googlebot运行的未知版本的Chrome产生以下错误:


  未捕获的TypeError:无法读取未定义的属性“ timing”


window.performance.timing的唯一实例在以下代码片段中:

else if (
window.performance!=undefined
&& window.performance.timing!=undefined
&& window.performance.timing.toJSON!=undefined) {/* etc */}


显然,无论我为进行对象检测所做的任何努力,Googlebot仍会以某种方式生成错误消息。我无法使用trycatch,并且我的JavaScript错误日志中有零个实例,这种情况发生在任何可测试的(例如Chrome本身)浏览器中,只有Googlebot。

最佳答案

尝试这种方式。

else if (
window.performance
&& window.performance.timing
&& window.performance.timing.toJSON) {/* etc */}


据我所知,您应该使用!==而不是!=

07-28 11:04