我有一个大型HTML5应用程序,我正在使用Titanium为其添加本机支持。对我来说最简单的问候世界是:
var webview = Titanium.UI.createWebView({url:'http://myApp.com'});
var window = Titanium.UI.createWindow();
window.add(webview);
window.open();
但是,如果我尝试在现有代码中使用Titanium API,则它没有引用。是否有配置文件选项可以使我的Web应用程序使用Titanium API?
我刚在docs中找到了这个:
Scripts downloaded from remote web servers cannot access the Titanium namespace,
however, you can use the web view evalJS method to execute a JavaScript
expression inside the web view, and retrieve the value of an expression.
除了轮询webview的上下文之外,有没有办法让上下文访问Titanium API?
答案 0 :(得分:1)
节省一些时间并使用phonegap,你正在做的事情不是Appcelerator的最佳做法
答案 1 :(得分:1)
我同意Aaron的说法,PhoneGap听起来对你正在做的事情听起来更好。但是,如果您仍想在Titanium中执行此操作.....
简短的回答是您必须从webview运行Ti.App.fireEvent(),这将允许您从Titanium javascript文件运行函数调用。从Titanium javascript文件中,您将使用Ti.App.addEventListener添加事件侦听器。
有关更详细的示例,我们需要更多上下文。
答案 2 :(得分:0)
使用web-view将所有html文件加载到不同的.JS文件中,并尝试执行此代码
Applicationwindow.js文件,如果你想要android选项菜单,请保留此代码修改
根据你的活动。
函数ApplicationWindow(){
//declare module dependencies
var All = require('ui/common/All');
Tree = require('ui/common/Tree');
EBOM = require('ui/common/E-BOM');
MBOM = require('ui/common/M-BOM');
SBOM = require('ui/common/S-BOM');
//create object instance
var self = Ti.UI.createWindow({
title:'Products',
exitOnClose:true,
navBarHidden:true,
backgroundColor:'#ffffff',
/////////////////////////////////////////////////////////////////////////////
activity: {
onCreateOptionsMenu: function(e) {
var menu = e.menu;
var menuItem = menu.add({ title: "C-BOM", icon: 'Arrow-Hover.jpg' });
//menuItem.setIcon("Arrow-Hover.jpg");
menuItem.addEventListener("click", function(e) {
var all = new All();
self.add(all);
});
var menuItem = menu.add({ title: "ALL-BOM" });
menuItem.setIcon("images/refresh_icon.png");
menuItem.addEventListener("click", function(e) {
var tree = new Tree();
self.add(tree);
});
var menuItem = menu.add({ title: "E-BOM" });
menuItem.setIcon("images/refresh_icon.png");
menuItem.addEventListener("click", function(e) {
var ebom = new EBOM();
self.add(ebom);
});
var menuItem = menu.add({ title: "M-BOM" });
menuItem.setIcon("images/refresh_icon.png");
menuItem.addEventListener("click", function(e) {
var mbom = new MBOM();
self.add(mbom);
});
var menuItem = menu.add({ title: "S-BOM" });
menuItem.setIcon("images/refresh_icon.png");
menuItem.addEventListener("click", function(e) {
var sbom = new SBOM();
self.add(sbom);
});
var menuItem = menu.add({ title: "Logout" });
menuItem.setIcon("Arrow-Hover.jpg");
menuItem.addEventListener("click", function(e) {
alert("Logout");
});
}
}
/////////////////////////////////////////////////////////////////////////////
});
var webview = Titanium.UI.createWebView({
url:'/ui/common/Login.html'
});
self.add(webview);
return self;
};
module.exports = ApplicationWindow;