Android 4.1 webview javascript无法正常工作。 [英] Android 4.1 webview javascript not working.

查看:103
本文介绍了Android 4.1 webview javascript无法正常工作。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在调用一个函数 javascript:alert('load')尝试显示一个警告框。
即使我已经 setJavaScriptEnabled(true);

I am having a function calling javascript:alert('load') attempting to show an alert box. It is not working even I have already setJavaScriptEnabled(true);

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle item selection
    WebView wvMyWeb = (WebView)findViewById(R.id.webView1);
    wvMyWeb.setWebViewClient(new MyWebViewClient());
    wvMyWeb.getSettings().setJavaScriptEnabled(true);

    switch (item.getItemId()) {
        case R.id.menu_save:
            alertbox("Setting","Save Clicked");
            wvMyWeb.loadUrl("http://ec.m.zkiz.com");
            return true;
        case R.id.menu_load:
            wvMyWeb.loadUrl("javascript:alert('load')");
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}

我缺少什么?

推荐答案

您没有指定chrome客户端, WebChromeClient 将满足您的需求。只需将其添加到您的webview:

You did not specify a chrome client, the WebChromeClient will fit your needs. Simply add this to your webview :

webView.setWebChromeClient(new WebChromeClient());

如果你想处理警告事件以特定的方式,您也可以这样做:

If you'd like to handle alert events in a particular way, you can also do :

webView.setWebChromeClient(new WebChromeClient() { 
    @Override public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
        /* Do whatever you need here */
        return super.onJsAlert(view, url, message, result); 
    } 
});

这篇关于Android 4.1 webview javascript无法正常工作。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆