【发布时间】:2019-04-10 09:58:50
【问题描述】:
我在 webview 中有两个按钮。我想给他们手动点击事件。 以下是我的代码;
网页代码
<form method="post" name="refer_now">
<div class="refer-now-button">
<!-- <button type="submit" class="refer-now-btn" id="refer-now">refer now</button> -->
<input type="button" class="refer-now-btn" value="refer now" name="refernow" id="refernow" onClick="showAndroidToast('refer');" />
</div>
</form>
<form method="post" name="refer_now_footer">
<div class="refer-now-button">
<!-- <button type="submit" class="refer-now-btn" id="refer_now_footer">refer now</button> -->
<input type="button" class="refer-now-btn" value="refer now" name="refer-footer" id="refer-footer" onClick="showAndroidToast('bottom_refer');" />
</div>
</form>
下面是我的java代码;
mWebview.loadUrl(link);
mWebview.setWebChromeClient(new WebChromeClient() {
@Override
public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
//Required functionality here
return super.onJsAlert(view, url, message, result);
}});
mWebview.addJavascriptInterface(new WebAppInterface(this), "AndroidInterface");
mWebview.getSettings().setJavaScriptEnabled(true);
mWebview.getSettings().setLoadsImagesAutomatically(true);
mWebview.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
public class WebAppInterface {
Context mContext;
// Instantiate the interface and set the context
WebAppInterface(Context c) {
mContext = c;
}
@JavascriptInterface
public void showevent(String toast) {
if(toast.equalsIgnoreCase("refer")){
Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show();
}else if(toast.equalsIgnoreCase("bottom_refer")){
Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show();
}
}
}
当我运行这段代码时;这给了我以下错误:
"Uncaught ReferenceError: AndroidInterface is not defined",
【问题讨论】:
-
@Mr.vicky 这不是重复的答案。我想给多个按钮点击事件。如果您能给我更好的解决方案,那将对我有所帮助
-
请在下方查看我的答案
标签: javascript android webview