安卓和ios攔截h5點擊事件,這個函數事件必須是暴漏在window下的vue
安卓和ios攔截普通h5函數:android
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
安卓和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