Ошибка JS появилась только на Spring Samsung Galaxy SIII

У нас есть страница регистрации в нашем приложении, написанная на HTML в WebView. Мы постоянно видим повторение следующей ошибки:

 window.onerror: Uncaught TypeError: Cannot use 'in' operator to search for '2' in .@.

Мы смогли сделать вывод, что это происходит почти строго на Spring Samsung Galaxy SIII. Я проверил это на Verizon SIII и не было никаких проблем. При возникновении ошибки пользователь застревает на странице регистрации и не может создать учетную запись. Я заблудился относительно того, что еще я мог бы попытаться отладить эту проблему. Будем благодарны за любую помощь, которую вы можете предложить!

1 ответ

Произойдет, если вы примените 'in' к строкам, а не к объектам, т.е.

if ('2' in '.@.') { }

Чтобы найти источник ошибки, используйте следующий код обработки ошибок

window.onerror=function(msg,url,line) {
    console.log("window.error: " + msg + ", url=" + url  +", line="+line);
};

если вам нужно более глубокое понимание вашего кода, попробуйте jsHybugger - отладчик javascript с открытым исходным кодом для приложений Android - http://www.jshybugger.org/

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