我有这个简单的Titanium js脚本。
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
。
我也尝试用钛改变Ti,但是同样的错误。
-------------编辑----------
此错误仅来自网络浏览器。 iOS完美运行。但是
答案 0 :(得分:2)
我找到了解决方案!
只需在您的所有html页面添加下面的简单脚本
var Ti = window.parent.Ti
玩得开心!
修改强>:
来自sdk 3.0.2GA版本的,我想他们已经修好了。现在它没有那个黑客就叫Ti sdk!**
答案 1 :(得分:0)
首先,改变:
webview.addEventListener('help',function(){
alert('help');
});
致:
Ti.App.addEventListener('help',function(){
alert('help');
});
第二步:在你的HTML文件中调用“Ti.App.fireEvent()”而没有最后的“s”。
答案 2 :(得分:0)
它不在Android网络浏览器模拟器和普通移动浏览器(Firefox作为移动网络应用程序)
所以,似乎Titanium api调用永远不会在Web浏览器上工作,因为“普通的javascript库没有Titanium.*
或Ti.*
”。
答案 3 :(得分:0)
我用过它并且有效
window.parent.TiApp.fireEvent