Ошибка 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/