JavaScript 与WebView的交互入门遇到的问题

7 篇文章 0 订阅
2 篇文章 0 订阅

JavaScript与WebView交互有多种方法:这里先试验一下对象映射的方式。

1. 通过对象映射方式

    Android中通过   通过webView.addJavaScriptInterface(java对象,"javascript中可以看到的名字")

    html中通过事件点击,调用(可以通过<a>标签,或者定义button都可以调用)

2.具体的实现步骤:

      1.写html的页面

       2.Android要写对应的实现代码。

       1.html 页面

功能:通过点击事件,调起javascript代码中的方法。

实现方法:可以通过<a>标签,其中带有onclick的事件,onclick后面带上需要调用本地方法的javascript代码。

这里的实现是

<a οnclick=“直接调用方法或javascript中的对象方法”></a>

例如:<a οnclick="MyJsBridge.getUserInfo()">CallAndroidMethod</a>

注意: <a></a> 这个标签不能写在javascript脚本的标签内部。而是应该写在<body></body>的内部。

<html>
    <head>
        JS 与 Android 本地代码交互
    </head>
    
<body>
    <!-- <button id="btn_java">invoke java</button> -->
    <a οnclick="MyJsBridge.getUserInfo()">CallAndroidMethod</a>
    <!--<script type="text/javascript">-->
    <!--// var btn = document.getElementById("btn_java")-->
    <!--// btn.οnclick=function() {-->
    <!--//     MyJsBridge.getUserInfo()-->
    <!--// }-->

        <!---->
    <!--</script>-->
</body>
</html>

   2.Android中的实现代码:

final WebView webView = findViewById(R.id.my_webview);
webView.setWebViewClient(new MyWebViewClient());
webView.getSettings().setJavaScriptEnabled(true);
webView.addJavascriptInterface(getMyJsBridge(), "MyJsBridge");
webView.loadUrl("file:///android_asset/js_native_interact.html");

WebView 与JavaScript交互,遇到的几个问题:

   1)这个a标签这个标签放在html的body里面,不能放在javascript语言的标记内部。

   2)webView要启用Javascript。调用webView.getSettings().setJavaScriptEnabled(true);

   3) 对于无参数的方法调用,方法后面一定要加(),否则可能无法调用成功。

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值