首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ti.App.fireEvent -未定义引用错误Ti

Ti.App.fireEvent -未定义引用错误Ti
EN

Stack Overflow用户
提问于 2013-03-13 01:54:05
回答 4查看 2.4K关注 0票数 0

我有这个简单的Titanium脚本。

app.js

代码语言:javascript
复制
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

代码语言:javascript
复制
<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对象。有人能给我解释一下原因吗?

EN

回答 4

Stack Overflow用户

发布于 2013-03-20 22:50:45

我找到了一个解决方案!

只需将下面的简单脚本添加到所有的html页面

代码语言:javascript
复制
var Ti = window.parent.Ti

玩得开心!

编辑

从sdk版本3.0.2GA开始的,我猜他们修复了它。现在,它调用Ti而不需要那个黑客!**

票数 2
EN

Stack Overflow用户

发布于 2013-03-13 04:05:53

首先,改变:

代码语言:javascript
复制
webview.addEventListener('help',function(){
    alert('help');
});

至:

代码语言:javascript
复制
Ti.App.addEventListener('help',function(){
    alert('help');
});

第二:调用"Ti.App.fireEvent()“,在你的文件中去掉最后一个"s”。

票数 0
EN

Stack Overflow用户

发布于 2013-03-13 06:11:09

经过一些测试,我发现前面的代码在iOS物理设备/模拟器和安卓上运行得很好。

在android网络浏览器模拟器和普通移动浏览器(Firefox作为移动网络应用程序)上不支持

因此,似乎Titanium调用永远不会在web浏览器上工作,因为“普通的javascript库没有Titanium.*Ti.*”。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15368543

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档