1

所以我正在开发一个使用 webview 来显示数据的应用程序。目前我正在尝试从中获取数据,并将数据发送到 webview。似乎从 webview 获取数据工作正常,但是将数据发送回 webview 形成了问题。

我使用 fireEvents 和 Eventlisteners 进行通信。它看起来像这样:

网络视图: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"  });
}

应用程序.js

Ti.App.addEventListener('sendToTi', function(data) {        
  alert('alert in Ti');
  Ti.App.fireEvent('sendToWebview', { "someDataToWebview" });
});

有效的是 sendToTi 事件。在这里,我总是得到警报。似乎一直不起作用的是 sendToWebview 事件。奇怪的是,它有时似乎有效,有时则无效,即使我回到有效的代码,它似乎也不再有效。我究竟做错了什么?有没有办法让它工作?

4

1 回答 1

1

你的' sendToTi'是正确的。但是您不能以这种方式将事件发送到 WebView。

要在 WebView 中执行 JavaScript(发送事件),您可以使用

webview.evalJS('someJSFunction(with, parameters, for, instance);');
webview.evalJS('alert("Hello World!");');

不需要 EventListeners(尤其是没有应用程序范围的事件侦听器)。

于 2013-04-15T17:03:01.177 回答