我有这个简单的Titanium脚本。
app.js
var win = Ti.UI.createWindow();
var webview = Ti.UI.createWebView({
url: 'logging.html'
});
webview.addEventListener('help',function(){
alert('help');
});
win.add(webview);
win.open();logging.html
<html>
<body>
<a onclick="Ti.App.fireEvent('help')">Help</a>
</body>
</html>当我单击帮助链接时,控制台给出了Reference Error: Ti is not defined。
我也试过用钛换钛,但还是有同样的错误。
-编辑
此错误仅与web浏览器一起出现。iOS可以完美地工作。但
当titanium studio为web mobile编译项目时,我可以看到titanium.js和TI/*文件夹,所以我猜它不能加载Ti对象。有人能给我解释一下原因吗?
发布于 2013-03-20 22:50:45
我找到了一个解决方案!
只需将下面的简单脚本添加到所有的html页面
var Ti = window.parent.Ti玩得开心!
编辑
从sdk版本3.0.2GA开始的,我猜他们修复了它。现在,它调用Ti而不需要那个黑客!**
发布于 2013-03-13 04:05:53
首先,改变:
webview.addEventListener('help',function(){
alert('help');
});至:
Ti.App.addEventListener('help',function(){
alert('help');
});第二:调用"Ti.App.fireEvent()“,在你的文件中去掉最后一个"s”。
发布于 2013-03-13 06:11:09
经过一些测试,我发现前面的代码在iOS物理设备/模拟器和安卓上运行得很好。
在android网络浏览器模拟器和普通移动浏览器(Firefox作为移动网络应用程序)上不支持
因此,似乎Titanium调用永远不会在web浏览器上工作,因为“普通的javascript库没有Titanium.*或Ti.*”。
https://stackoverflow.com/questions/15368543
复制相似问题