app内嵌vue h5,安卓和ios拦截H5点击事件
安卓和ios拦截h5点击事件,这个函数事件必须是暴漏在window下的
安卓和ios拦截普通h5函数:
1 <div onclick = "show(),window.android.show()"></div> 2 <script> 3 function show(){
//如果需要传值,可以在show里添加参数,在上面的点击事件中直接进行传值就好 4 alert(1) 5 } 6 </script>
vue函数并没有直接暴漏在window下,vue的点击事件为@click,所以上面写法App方是拦截不到的
安卓和ios拦截vue点击事件:
<div id="box" @click="show('aaaa'),window.android.show('aaaa')"></div> //括号内为传参内容,第一个show是为ios传值,点击的时候触发了在window里定义的函数,ios直接拦截到zhi这个函数,安卓可以直接拦截到vue里定义的函数 <script src="vue.js"></script> <script> function zhi(a){ //定义一个暴漏给window的函数,放在点击事件中,ios拦截函数是拦截的这个暴漏给window的函数 console.log(a) } new Vue({ el:"#box", data:{ }, methods:{ show:function(a){ zhi(a); //a为一个参数,可以进行给ios和安卓进行传值 alert(1); } } }) </script>
//和Android、ios交互的时候,给安卓的拦截字段为show,给ios拦截的字段为zhi