javascript - Android中如何调用JavaScript

标签 javascript android html xml

public void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    web = (WebView) findViewById(R.id.webview1);



    web.setWebChromeClient(new MyWebChromeClient());

    web.addJavascriptInterface(new DemoJavaScriptInterface(), "temp_1");

    web.loadUrl("file:///android_asset/temp_1.html");

  }   
}

final class DemoJavaScriptInterface {

    private Handler mHandler = new Handler();
    WebView web;
    DemoJavaScriptInterface() {
}

public void clickOnAndroid() {
    mHandler.post(new Runnable() {
        public void run() {
            web.loadUrl("javascript:init();");
        }
    });

   }
}

final class MyWebChromeClient extends WebChromeClient {

    private static final String LOG_TAG = "WebViewDemo";
    @Override

    public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
        Log.e(LOG_TAG, message);
        result.confirm();
        return true;
    }
}

最佳答案

试着写下这一行

web = (WebView) findViewById(R.id.webview1);
web.setWebChromeClient(new MyWebChromeClient());

web.getSettings().setJavaScriptEnabled(true);

web.addJavascriptInterface(new DemoJavaScriptInterface(), "temp_1");
web.loadUrl("file:///android_asset/temp_1.html");

关于javascript - Android中如何调用JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11740765/

相关文章:

javascript - 传递动态参数以删除 JQGrid 中的 url 方法

android - 如何在PreferenceFragmentCompat中实现RingtonePreference?

html - 单击我的源代码时如何突出显示 VScode 实时服务器中的部分?

javascript - 将事件绑定(bind)到列表元素

java - CallBack 给出 NullPointEreException

android - Html.fromHtml(文本)不起作用

javascript - NodeJS - 设置 mean.io 找不到模块错误

javascript - 如何在 Handsontable 的 afterChange 中使用 getCellMeta?

javascript - 在Vuejs中,如何为所有props添加watcher并使用相同的函数作为回调?

java - 为什么android(6.0)系统在深度 sleep 约1小时后禁止网络连接