Titanium 如何从WebView中引用Tianium JavaScript?

Titanium 如何从WebView中引用Tianium JavaScript?,titanium,Titanium,我有一个大型HTML5应用程序,正在使用Tianium为其添加本地支持。对我来说,最简单的问候方式是: var webview = Titanium.UI.createWebView({url:'http://myApp.com'}); var window = Titanium.UI.createWindow(); window.add(webview); window.open(); 但是如果我尝试在现有代码中使用Tianium API,它就没有参考。是否有一个配置文件选项可以使Tiani

我有一个大型HTML5应用程序,正在使用Tianium为其添加本地支持。对我来说,最简单的问候方式是:

var webview = Titanium.UI.createWebView({url:'http://myApp.com'});
var window = Titanium.UI.createWindow();
window.add(webview);
window.open();
但是如果我尝试在现有代码中使用Tianium API,它就没有参考。是否有一个配置文件选项可以使Tianium API可用于我的web应用程序

我刚在以下文件中找到:


除了轮询webview的上下文之外,还有什么方法可以让上下文访问Tianium API吗?

节省一些时间并使用phonegap,对于Appcelerator来说,您所做的并不是最佳实践

我同意Aaron的观点,phonegap确实更适合您所做的事情。然而,如果你还想用钛做这个

简而言之,您必须从webview运行Ti.App.firevent(),这将允许您从Tianium javascript文件运行函数调用。从Tianium javascript文件中,您将添加一个带有Ti.App.addEventListener的事件侦听器


对于更详细的示例,我们需要更多的上下文。

使用web视图将所有html文件加载到不同的.JS文件中,然后尝试执行此代码

Applicationwindow.js文件如果您想要android选项菜单,请保留此代码,否则请修改

根据你的事件

函数ApplicationWindow(){

})


module.exports=应用程序窗口

我在API中发现了这一点,但从未有机会实现它。使用PhoneGap。
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.
//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;