如何从WebView中引用Titanium JavaScript?

我有一个很大的HTML5应用程序,我正在使用Titanium来为它添加本机支持。最简单的hello world对我来说是:如何从WebView中引用Titanium JavaScript

var webview = Titanium.UI.createWebView({url:'http://myApp.com'}); 

var window = Titanium.UI.createWindow();

window.add(webview);

window.open();

但是,如果我尝试使用钛API从现有代码中它没有引用。有没有一个配置文件选项可以使我的网络应用程序可以使用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的背景下,有什么办法有上下文的访问钛API?

回答:

最佳实践我与阿龙同意,PhoneGap的听起来更好地为你想要做什么。但是,如果你仍然想在钛中做到这一点.....

简短的回答是你必须从webview运行Ti.App.fireEvent(),这将允许你运行一个函数调用来自钛的JavaScript文件。从Titanium JavaScript文件中,您可以使用Ti.App.addEventListener添加事件侦听器。

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

回答:

自己节省一些时间和使用PhoneGap的,你在做什么不是Appcelerator的

回答:

负荷全部采用网络视图,并用这样的代码尝试,如果你想使用Android选项菜单保持按本规范其他修改

Applicationwindow.js文件中不同的.js文件的HTML文件的事件。

功能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;

以上是 如何从WebView中引用Titanium JavaScript? 的全部内容, 来源链接: utcz.com/qa/266189.html

回到顶部