2
是否有可能在JavaScript中生成觸摸事件,它會調用我的android WebView中的onTouchEvent()函數?Android - 如何從JavaScript生成觸摸事件?
我試着用下面的JavaScript代碼生成touchstart和touchend事件,但是我的webview onTouchEvent()函數沒有被調用。
try{
var evt = document.createEvent('TouchEvent');
evt.initTouchEvent('touchstart', true, true);
evt.view = window;
evt.altKey = false;
evt.ctrlKey = false;
evt.shiftKey = false;
evt.metaKey = false;
this.dispatchEvent(evt);
var evt1 = document.createEvent('TouchEvent');
evt1.initTouchEvent('touchend', true, true);
evt1.view = window;
evt1.altKey = false;
evt1.ctrlKey = false;
evt1.shiftKey = false;
evt1.metaKey = false;
this.dispatchEvent(evt1);
}
catch(e)
{
alert(e);
}
是從我的代碼缺少的東西,還是做的JavaScript事件甚至沒有進入android框架?
THX
我可以證實這將工作,我打算回答相同。在你的WebView中@sofarsogood使用myWebView.addJavascriptInterface(aJavaObjectIWillUseInJavaScript,「myJavaObject」)來添加任何想要在JavaScript端訪問的對象; 然後在JavaScript上註冊一個事件偵聽器,它將使用myJavaObject.someMethod(param1,param2,...)在Android-land中觸發所需的行爲。 – Gubatron
我還應該注意這種方法所帶來的安全問題......在你的webview中呈現的任何JavaScript都可以調用你公開的全局captureEvent()方法 - 確保驗證傳入的參數。 –