Приложение ExtJS/Cordova показывает белый экран на телефонах Google Pixel

По какой-то причине любые приложения ExtJS/Cordova, работающие на телефоне Google Pixel, показывают только белый экран. Cordova была обновлена ​​до последней версии, и в настоящее время я использую Ext JS 6.2.1.

1 ответ

Оказалось, что оскорбительный код был этим небольшим фрагментом в 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 не определена, и приложение вылетает. Я отправил ошибку Сенче и жду исправления. Эта ошибка затрагивает ExtJS 6.5.1, а также 6.2.1.

Обновление: Сенча говорит, что они скоро исправят ошибки в ночных выпусках и, в конце концов, сделают стабильную версию. Тем временем вы можете добавить проверку для переменной browserMatch и выполнить перестройку ExtJS, чтобы устранить проблему. В исходном коде ExtJS проблема находится в Browser.js.

Другие вопросы по тегам