从Android Activity调用JS函数

时间:2014-04-04 12:25:00

标签: javascript android android-webview

我正在调用一个简单的JS函数来设置一些html内容的值,但它不起作用 这是JS函数

function SetEdits(name,email,pic,date)
{
document.getElementById("myPic").src=pic;
document.getElementById("fullname").value=name;
document.getElementById("email").value=email;
}

这是Android活动的代码

edit.loadUrl("edit.html");
edit.loadUrl("javascript:SetEdits('"+name+"','"+email+"','"+picture+"','"+date+"')");

它没有设置这些文件.. synax有什么问题我在原生活动中调用这个函数吗?

2 个答案:

答案 0 :(得分:1)

您可能最终在加载“edit.html”页面之前评估JavaScript。试试这个:

// I'm assuming the real path is something like file:///android_asset/edit.html
edit.loadUrl("edit.html");

edit.setWebViewClient(new WebViewClient() {
  @Override
  public void onPageFinished(WebView view, String url) {
    if (Uri.parse(url).getPath() == "edit.html") {
      view.loadUrl("javascript:SetEdits('" + name+"','" + email + "','" +
                   picture + "','" + date + "')");
    }
  }

答案 1 :(得分:0)

您是否为网页浏览启用了javascript? 你必须在你的应用程序和HTML之间设置一个javascript界面​​。

以下是一些详细信息Webapp guid