出于某种原因,任何构建的ExtJS / Cordova应用程序在Google Pixel手机上运行时仅显示白屏。 Cordova已更新至最新版本,我目前正在使用Ext JS 6.2.1。
答案 0 :(得分:3)
原来这个有问题的代码是ExtJS中的这个小片段。当我进行测试构建并检查正在运行的代码时,这一点变得很明显。
if (userAgent.match(/OPR/)) {
browserName = 'Opera';
browserMatch = userAgent.match(/OPR\/(\d+.\d+)/);
browserVersion = new Ext.Version(browserMatch[1]);
}
Google Pixel的用户代理包含字符串' OPR',它正在欺骗Ext JS认为它在Opera中运行。发生这种情况时,browserMatch变量未定义,应用程序崩溃。我已将错误提交给Sencha,我正在等待修复。此错误会影响ExtJS 6.5.1以及6.2.1。
更新:Sencha表示他们很快就会对夜晚进行修复,他们最终会将其发布到稳定版本。在此期间,您可以添加对browserMatch变量的检查,并重建ExtJS以解决问题。在ExtJS源代码中,问题出在Browser.js。