所以我正在开发一个使用webview来显示数据的应用程序。目前我正在尝试从中获取数据,并将数据发送到webview。似乎从webview获取数据工作正常,但将数据发送回webview会产生问题。
我使用fireEvents和Eventlisteners进行通信。它看起来像这样:
webview:index.html
// declared at the beginning of the html file
Ti.App.addEventListener('sendToWebview', function(data) {
alert('alert in webview');
});
// fires when button is pushed
function onClick(){
Ti.App.fireEvent('sendToTi', { "someDataToTi" });
}
app.js
Ti.App.addEventListener('sendToTi', function(data) {
alert('alert in Ti');
Ti.App.fireEvent('sendToWebview', { "someDataToWebview" });
});
sendToTi事件的作用是什么。在这里我总是得到警报。似乎不能一直工作的是sendToWebview事件。奇怪的是,有时似乎有效,有时候不行,甚至当我回到有效的代码时,它似乎不再起作用了。 我究竟做错了什么?有没有办法让它发挥作用?
答案 0 :(得分:1)
您的“sendToTi
”是正确的。但是你不能以这种方式向WebView发送事件。
要在WebView中执行JavaScript(发送事件),您可以使用
webview.evalJS('someJSFunction(with, parameters, for, instance);');
webview.evalJS('alert("Hello World!");');
不需要EventListeners(特别是没有应用程序范围的事件侦听器)。