小编典典

JavaScript警报在Android WebView中不起作用

javascript

在我的应用程序中,我正在使用,WebView并且在其中,我正在使用JavaScript alert( )方法,但它不起作用,没有弹出窗口。

在清单文件中我添加了

<uses-permission android:name="android.permission.INTERNET"></uses-permission>

在活动文件中我添加了

mWebView = (WebView) findViewById(R.id.webview);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.loadUrl("file:///android_asset/demo.html");

在布局xml文件中,我添加了

<WebView 
    android:id="@+id/webview"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
/>

任何线索如何启用全JavaScriptWebView


更新资料

谢谢标记文件中
alert()方法html现在正在工作:)。

现在有两个问题WebView
1:我正在<textarea>加载的html文件中使用a
WebView,并尝试在其中使用印地语语言字体,但是当我尝试写印地语文本时,它显示为符号(如矩形符号[])。

当我在台式机上的Firefox浏览器中执行相同操作时,效果很好。任何线索如何给多语言支持textareaWebView

2:当我单击“提交”并尝试alert()在另一个Java脚本中的方法中打开text的值时,它不起作用,这是否意味着即使WebChromeClient
仅将其适用于当前加载的html页面且未javascripts从该页面调用也是如此?


阅读 342

收藏
2020-05-01

共1个答案

小编典典

正如其他人指出的那样,需要设置WebChromeClient才能alert()开始工作。只需设置默认的WebChromeClient()就足够了:

mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.setWebChromeClient(new WebChromeClient());

感谢您下面的所有评论。包括约翰史密斯(John Smith)在内,他指出您需要启用JavaScript。

2020-05-01