JavaScript警报在Android WebView中不起作用

在我的应用程序中,我正在使用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"

/>

任何线索如何启用全JavaScript中WebView?


更新资料


谢谢标记文件中

的alert()方法html现在正在工作:)。


现在有两个问题WebView:

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


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


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


达令说
浏览 266回答 3
3回答

素胚勾勒不出你

以下代码将起作用:private WebView mWebView;final Activity activity = this;// private Button b;@Overridepublic void onCreate(Bundle savedInstanceState) {&nbsp; &nbsp; super.onCreate(savedInstanceState);&nbsp; &nbsp; setContentView(R.layout.activity_main);&nbsp; &nbsp; mWebView = (WebView) findViewById(R.id.webview);&nbsp; &nbsp; mWebView.getSettings().setJavaScriptEnabled(true);&nbsp; &nbsp; mWebView.getSettings().setDomStorageEnabled(true);&nbsp; &nbsp; mWebView.setWebChromeClient(new WebChromeClient() {&nbsp; &nbsp; &nbsp; &nbsp; public void onProgressChanged(WebView view, int progress) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; activity.setProgress(progress * 1000);&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; });&nbsp; &nbsp; mWebView.loadUrl("file:///android_asset/raw/NewFile1.html");}

Smart猫小萌

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

慕码人2483693

webView.setWebChromeClient(new WebChromeClient() {&nbsp; &nbsp; @Override&nbsp; &nbsp; public boolean onJsAlert(WebView view, String url, String message, JsResult result) {&nbsp; &nbsp; &nbsp; &nbsp; return super.onJsAlert(view, url, message, result);&nbsp; &nbsp; }});
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript