我今天从钛开始,我怀疑我找不到答案(一定是为什么我仍然是这个领域的门外汉)。
我想在我的Mac上开发一个测试应用程序,它可以在web视图中使用钛材料工作,例如:
var webview = Titanium.UI.createWebView({url:'http://localhost/myfile.html'});
var window = Titanium.UI.createWindow();
window.add(webview);
window.open({modal:true});希望在myfile.html中,他可以访问模式钛功能,例如,作为一个警告,甚至访问麦克风。
发布于 2014-09-29 14:49:04
首先..。如果你已经选择钛作为一个平台-利用它提供的优势,编写应用程序使用本机代码和控件,而不是一个网络视图。在我看来,钛中的webviews与本地开发(显示快速html上下文和页面,而不是在html中开发应用程序本身)具有相同的用途。如果您想在移动开发中利用html5+css+js,请看一下PhoneGap和其他类似的东西。
话虽如此,对你所做的事的简短评论..。您告诉您的webview在http://localhost下查找一个文件-它不存在!您正在设备上运行,设备上没有安装web服务器。
您要做的是向项目中添加一个html文件,并仅引用该文件:
var webview = Titanium.UI.createWebView({url:'/myfile.html'});或者,如果你把你的html放在一个文件夹里,比如说html目录,它看起来会像这样:
var webview = Titanium.UI.createWebView({url:'/html/myfile.html'});如果您想从钛代码中调用webview中的函数,您需要像这样使用evalJS() (请注意,webview中的文档必须在调用它之前完成加载):
webview.evalJS('myFunctionInsideTheWebview()');如果您想从add视图中调用钛代码,则需要添加一个全局事件侦听器,如下所示:
Titanium.App.addEventListener('fromwebview',function(e) {
Ti.API.info('here is a message from the webview : '+e.msg);
});从这样的网络视图中调用它:
Ti.App.fireEvent(\'fromwebview\',{msg:str});注意:真的不推荐全球听众!
https://stackoverflow.com/questions/26086633
复制相似问题