sencha-touch.js在miui android8.0报如下异常
"Uncaught TypeError: Cannot read property '1' of null"
发生异常的代码如下:
if (userAgent.match(/OPR/)) {
browserName = 'Opera';
browserMatch = userAgent.match(/OPR\/(\d+.\d+)/);
browserVersion = new Ext.Version(browserMatch[1]);
}
打印了下MI6的userAgent,里面包含了"OPR"的关键字。 根据上下文分析,这段代码是用来识别浏览器类型和版本的,因MI6包含了"OPR"导致了识别错误。 MI6的UserAgent可自行打印下。
调整代码如下:
if (userAgent.match(/OPR/)) {
browserMatch = userAgent.match(/OPR\/(\d+.\d+)/);
if(browserMatch) {
browserName = 'Opera';
browserVersion = new Ext.Version(browserMatch[1]);
}
}