您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

通过Android WebView中的javascript检测HTML按钮的单击

通过Android WebView中的javascript检测HTML按钮的单击

经过一番阅读,我终于自己得到了它。当您对javascript一无所知并且文档在主题上很薄时,这有点困难。 这是我的解决方案,希望对您有所帮助:

在HTML页面的末尾包含2个按钮,如下所示:

<div>
     <button type="button" id="ok" style="font-weight: 700; margin-right: 20px;" onclick="validClick();">J'accepte</button>
     <button type="button" id="no" onclick="refuseClick();">Je refuse</button>
</div>

我将点击事件发送到HTML页面顶部的javascript:

<script language="javascript">

   function validClick()
   {
      valid.performClick();
      document.getElementById("ok").value = "J'accepte";
   }
   function refuseClick()
   {
      refuse.performClick();
      document.getElementById("no").value = "Je refuse";
   }

</script>

validrefuse2个Java对象,我过的JavaScript接口传递到使用他们的方法。因此,在Java中,我创建了2个按钮(未在“活动”中真正显示,仅在此处显示方法,并且是HTML按钮的阴影:

valid = new Button(ctx);
valid.setOnClickListener(this);
refuse = new Button(ctx);
refuse.setOnClickListener(this);

然后我将javascript添加到我的WebView

// Enablejavascript
WebSettings ws = wv.getSettings();
ws.setJavaScriptEnabled(true);
// Add the interface to record javascript events
wv.addJavascriptInterface(valid, "valid");
wv.addJavascriptInterface(refuse, "refuse");

最后,在onClick方法中处理click事件:

@Override
public void onClick(View v) {
    if (v.equals(valid)) {
        //do Something
    } else if (v.equals(refuse)) {
        //do Something else }
}

希望这对某些人有帮助

javascript 2022/1/1 18:20:45 有322人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶