首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何与万维网和钛网沟通

如何与万维网和钛网沟通
EN

Stack Overflow用户
提问于 2014-09-28 15:48:30
回答 1查看 726关注 0票数 0

我今天从钛开始,我怀疑我找不到答案(一定是为什么我仍然是这个领域的门外汉)。

我想在我的Mac上开发一个测试应用程序,它可以在web视图中使用钛材料工作,例如:

代码语言:javascript
复制
var webview = Titanium.UI.createWebView({url:'http://localhost/myfile.html'});
var window = Titanium.UI.createWindow();
window.add(webview);
window.open({modal:true});

希望在myfile.html中,他可以访问模式钛功能,例如,作为一个警告,甚至访问麦克风。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-29 14:49:04

首先..。如果你已经选择钛作为一个平台-利用它提供的优势,编写应用程序使用本机代码和控件,而不是一个网络视图。在我看来,钛中的webviews与本地开发(显示快速html上下文和页面,而不是在html中开发应用程序本身)具有相同的用途。如果您想在移动开发中利用html5+css+js,请看一下PhoneGap和其他类似的东西。

话虽如此,对你所做的事的简短评论..。您告诉您的webview在http://localhost下查找一个文件-它不存在!您正在设备上运行,设备上没有安装web服务器。

您要做的是向项目中添加一个html文件,并仅引用该文件:

代码语言:javascript
复制
var webview = Titanium.UI.createWebView({url:'/myfile.html'});

或者,如果你把你的html放在一个文件夹里,比如说html目录,它看起来会像这样:

代码语言:javascript
复制
var webview = Titanium.UI.createWebView({url:'/html/myfile.html'});

如果您想从钛代码中调用webview中的函数,您需要像这样使用evalJS() (请注意,webview中的文档必须在调用它之前完成加载):

代码语言:javascript
复制
webview.evalJS('myFunctionInsideTheWebview()');

如果您想从add视图中调用钛代码,则需要添加一个全局事件侦听器,如下所示:

代码语言:javascript
复制
Titanium.App.addEventListener('fromwebview',function(e) { 
    Ti.API.info('here is a message from the webview : '+e.msg);
});

从这样的网络视图中调用它:

代码语言:javascript
复制
Ti.App.fireEvent(\'fromwebview\',{msg:str});

注意:真的不推荐全球听众!

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

https://stackoverflow.com/questions/26086633

复制
相关文章

相似问题

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