No meu aplicativo estou usando WebView
e no JavaScript alert( )
método que estou usando , mas não está funcionando, nenhum pop-up aparece.
no meu arquivo de manifesto eu adicionei
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
e no arquivo de atividade eu adicionei
mWebView = (WebView) findViewById(R.id.webview);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.loadUrl("file:///android_asset/demo.html");
No arquivo de layout xml eu adicionei
<WebView
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
Alguma pista de como habilitar full JavaScript
in WebView
?
Atualizar
Obrigado, marque
o alert()
método no html
arquivo estão funcionando agora :).
Agora, existem dois problemas WebView
:
1: Estou usando um <textarea>
no arquivo html que estou carregando WebView
e tentando escrever em uma fonte do idioma hindi, mas quando tento escrever um texto em hindi, ele é exibido como símbolos (símbolos de retângulo como []).
quando eu faço o mesmo no navegador firefox no desktop, ele funciona bem. alguma pista de como dar suporte para vários idiomas textarea
em WebView
?
2: Quando estou clicando em enviar e tentando abrir o valor do texto no alert()
método em outro script java ele não funciona, significa que mesmo depois de usar o WebChromeClient
seu aplicável apenas para a página html carregada atual e não javascripts
chamado dessa página?
fonte
Respostas:
Verifique este link e último comentário, você tem que usar
WebChromeClient
para o seu propósito.fonte
webview.getSettings().setJavaScriptEnabled(true);
Como outros indicaram, a configuração do WebChromeClient é necessária para começar
alert()
a trabalhar. Basta definir o padrão WebChromeClient ():Obrigado por todos os comentários abaixo. Incluindo John Smith, que indicou que você precisava habilitar o JavaScript.
fonte
mWebView.getSettings().setJavaScriptEnabled(true);
antes da linhamWebView.setWebChromeClient(new WebChromeClient());
webview.getSettings().setJavaScriptEnabled(true);
fonte
prompt
de javascript, em vez de exibir o texto do prompt diz: "A página em https: // ... diz:" quebrando totalmente a imersão do WebView sendo incorporado ao aplicativoO seguinte código funcionará:
fonte
Você pode tentar com isso, funcionou para mim
fonte
se você deseja ocultar o URL do usuário, mostre um AlertDialog como abaixo.
fonte