Приложение 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.