ExtJS/Cordova应用程序在谷歌像素手机上显示白色屏幕

ExtJS/Cordova应用程序在谷歌像素手机上显示白色屏幕,cordova,extjs,extjs6-modern,google-pixel,Cordova,Extjs,Extjs6 Modern,Google Pixel,出于某种原因,任何构建的ExtJS/Cordova应用程序在谷歌像素手机上运行时都只显示白色屏幕。Cordova已更新至最新版本,我目前正在使用ExtJS6.2.1 事实证明,令人不快的代码就是ExtJS中的这个小片段。当我进行测试构建并检查正在运行的代码时,这一点变得很明显 if (userAgent.match(/OPR/)) { browserName = 'Opera'; browserMatch = userAgent.match(/OPR\/(\d+.\d+)/);

出于某种原因,任何构建的ExtJS/Cordova应用程序在谷歌像素手机上运行时都只显示白色屏幕。Cordova已更新至最新版本,我目前正在使用ExtJS6.2.1

事实证明,令人不快的代码就是ExtJS中的这个小片段。当我进行测试构建并检查正在运行的代码时,这一点变得很明显

if (userAgent.match(/OPR/)) {
   browserName = 'Opera';
   browserMatch = userAgent.match(/OPR\/(\d+.\d+)/);
   browserVersion = new Ext.Version(browserMatch[1]);
}
Google Pixel的用户代理包含字符串“OPR”,这会诱使ExtJS认为它正在Opera中运行。发生这种情况时,browserMatch变量未定义,应用程序崩溃。我已将该错误提交给Sencha,正在等待修复。此错误影响ExtJS 6.5.1和6.2.1

更新:Sencha说他们很快会在《睡梦》中进行修复,最终会稳定发布。同时,您可以添加对browserMatch变量的检查,并重新生成ExtJS以修复该问题。在ExtJS源代码中,问题出现在Browser.js中