Android 嵌入 html页面,页面的javascript代码不能执行
我按网上的方法,在Android 嵌入了一个 html页面,html 里面的button可以调用 android 的方法,android里面的button也可以调用 html 里面的 javascript函数, 问题是: html里面的js函数却不能正常调用,朋友们帮我看下问题在哪儿,本人新手。
Activity:
mWebView = (WebView) findViewById(R.id.webview); WebSettings mWebSettings = mWebView.getSettings(); //加上这句话才能使用javascript方法 mWebSettings.setJavaScriptEnabled(true); //增加接口方法,让html页面调用 mWebView.addJavascriptInterface(new Object() { //这里可以正常调用 public void startBaidu() { Uri uri = Uri.parse("http://www.baidu.com"); Intent it = new Intent(Intent.ACTION_VIEW,uri); startActivity(it); } }, "demo"); mWebView.loadUrl("file:///android_asset/login.html"); //android 调用 html 的代码 //这里也可以正常调用 mButton = (Button) findViewById(R.id.button); //给button添加事件响应,执行JavaScript的fillContent()方法 mButton.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { mWebView.loadUrl("javascript:fillContent()"); } });<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>login </title> </head> <script> function login(){ alert("登陆成功"); } </script> <mce:script language="javascript"><!-- function fillContent(){ document.getElementById("content").innerHTML = "你点击了 Android button."; } // --></mce:script> <body> <p><a onClick="window.demo.startBaidu()" href="">html startBaidu</a></p> <p><button onclick="login();">确定</button></p> </body></html>@Override public boolean onJsAlert(WebView view, String url, String message, final JsResult result) { // return super.onJsAlert(view, url, message, result); Builder builder = new Builder(mContext); builder.setTitle(mContext.getText(R.string.dialog_tip_title)); builder.setMessage(message); builder.setPositiveButton(android.R.string.ok, new AlertDialog.OnClickListener() { public void onClick(DialogInterface dialog, int which) { result.confirm(); } }); builder.setCancelable(false); builder.create(); builder.show(); return true; }