我正在使用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的内容不是本地的,不是远程的,我知道远程网站无法进行此类通信)
答案 0 :(得分:0)
我想出来了,所以我发帖分享我发现的东西:
似乎将代码放在单独的文件中并使用 Titanium.include 适用于模拟器,但不适用于iphone或ipad。
为了摆脱错误,我不得不将所有代码放入一个文件中。这使得它有点难以阅读,我宁愿更好的解决方案,但这似乎现在有效。