我正在尝试从Titanium webview内部打开的外部HTML页面中触发事件.
app.js文件...
var group, now, tab, view, window; now = new Date(); view = Titanium.UI.createWebView({url: 'http://MYWEBSITE.com/index.htm?time=' + now.getTime()}); window = Titanium.UI.createWindow({tabBarHidden: true, navBarHidden: true}); window.add(view); Titanium.App.addEventListener('browse', function(e) { Ti.API.info("I received " + e.something + " from the webview."); }); group = Titanium.UI.createTabGroup(); tab = Titanium.UI.createTab({title: 'window', window: window}); group.addTab(tab); group.open(tab);
js摘自网页...
$("#testButton").mousedown(function() { alert ("I got clicked."); Ti.App.fireEvent('browse', {something:'stuff'}); });
(我在URL中包含时间以确保页面始终是新鲜的.)
如上所示添加事件侦听器,或使用view.addEventListener,编译但最终不起作用.
使用Titanium.UI.WebView.addEventListener会生成一个错误消息,指出该对象不存在.
我是否需要以不同的方式打开URL/webview?
此外,由于Titanium.App.fireEvent不是一个公认的功能,除了Titanium,如何防止JavaScript错误?
谢谢.
// from web pageTEST BUTTON
来自apps.js
Ti.App.addEventListener('fromwebview', function(data) { Titanium.API.info("--> " + data.name); });