Titanium.App.addEventListener在ios设备上导致“未定义”对象应用程序错误

时间:2012-11-22 07:54:41

标签: ios5 webview ios6 appcelerator appcelerator-mobile

我正在使用Titanium.App.addEventlistener来捕获Titanium.App.fireEvent从本地webview触发的事件。

在网页浏览中:

Titanium.App.fireEvent('webviewToTi', {id:0});

在app中:

Ti.App.addEventListener('webviewToTi', function(e){
     alert('I am in app.js: ' + e.id);
});

这在iOS模拟器中运行良好,但是当我在ipad上运行时,我得到了Appcelerator死机的红色屏幕:

'undefined'不是对象(评估'Titanium.App.addEventListener')

我使用Ti.App.addEventlistener运行了一些不同的测试,甚至在一个不包含其他内容的精简项目中我仍然遇到了这个问题。

有没有人知道为什么这个错误特别存在于ios设备中但不存在于模拟器中?

任何人都可以建议另一种方式与我的网络视图进行通信。

(请注意,webview的内容不是本地的,不是远程的,我知道远程网站无法进行此类通信)

1 个答案:

答案 0 :(得分:0)

我想出来了,所以我发帖分享我发现的东西:

似乎将代码放在单独的文件中并使用 Titanium.include 适用于模拟器,但不适用于iphone或ipad。

为了摆脱错误,我不得不将所有代码放入一个文件中。这使得它有点难以阅读,我宁愿更好的解决方案,但这似乎现在有效。