ExtJS / Cordova应用程序在Google Pixel手机上显示白屏

时间:2017-09-21 18:28:12

标签: cordova extjs extjs6-modern google-pixel

出于某种原因,任何构建的ExtJS / Cordova应用程序在Google Pixel手机上运行时仅显示白屏。 Cordova已更新至最新版本,我目前正在使用Ext JS 6.2.1。

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。