安卓和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
