Android 端:
private void triggerEvnet(String eventName, String detail){ if(eventName==null || eventName.length()==0){ return; } if(detail==null || detail.length()==0){ detail = "{}" } String js_string = "var myevent = new CustomEvent("+ eventName +", {detail: "+ detail +"});"; js_string += "window.dispatchEvent(myevent);"; webview.loadUrl("javascript:"+js_string); } // 例如:觸發KeyboardShow事件,將鍵盤高度當作detail參數 triggerEvnet("KeyboardShow","{keyboardHeight:300}");
前端:
window.addEventListener("KeyboardShow",function(e){ console.log("Keyboard Height: " + e.detail.keyboardHeight) })