Nós temos este problema onde a nossa aplicação temparou de funcionar em dispositivos Android 5.0 ou superiores, pois o Google lançou a versão mais recente do Android System WebView 45.0.2454.95. Se desativarmos esta versão do WebView acessando as configurações do dispositivo, os aplicativos, o Android System WebView e clicando em Desativar: o aplicativo funcionará novamente. No entanto, isso não é satisfatório para alguns de nossos clientes e realmente precisamos encontrar uma correção onde funcione com a versão mais recente do Android System WebView.
Nosso aplicativo faz uso pesado de jQuery e jQuery Mobile. Atualmente, usamos o jQuery 1.7.1 e o jQuery Mobile 1.1.0. Não podemos atualizar facilmente para uma versão mais recente.
Quando uma página é carregada no aplicativo, qualquer método chamado dentro de um seletor jQuery não é executado, por exemplo,
$(function() {
//Your code here
});
Esse código é executado com sucesso quando a versão antiga do WebView é usada, mas não quando a versão mais recente é usada. A tentativa de chamar o código fora do seletor resultou em outros problemas.
Durante minhas investigações até agora, eu tenhodescobri que o problema parece vir de algo no jQuery Mobile como quando eu removo a referência ao jquery.mobile.js, o código então é executado novamente. No entanto, como você pode esperar, os problemas ocorrem devido ao fato de o jQuery Mobile ser uma parte integral de nosso aplicativo.
Alguém sabe de algum problema com jQuery Mobile sobre a versão mais recente do Android System WebView que poderia estar causando isso?
Respostas:
1 para resposta № 1$.mobile.pushStateEnabled=false;
Exemplo:
<script type="text/javascript">
$( document ).ready(function() {
$.mobile.pushStateEnabled = false;
});
</script>
0 para resposta № 2
<script type="text/javascript">
$(document).bind("mobileinit", function(){
$.mobile.pushStateEnabled = false;
});
</script>
<script src="jquery-mobile.js"></script>