繁体   English   中英

如何在Titanium appcelerator中远程包含一个javascript文件并使用该文件的功能?

[英]How do i remote include a javascript file in Titanium appcelerator and use the functions of that file?

我需要将包含在特定链接上的javascript文件远程包含到我的appcelerator项目中,并使用该文件中声明的函数来处理一些数据。

我想实现的是类似于html中的以下内容-

<script src="https://some-link/Data.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
var testVariable = someMethod(localdata);
});
//use testVariable as necessary
</script>

// someMethod()在远程可用的Data.js中声明

我是Appcelerator的一名新手,我无法真正追踪我遇到的一些线程,因此,非常感谢您提供一些详细的帮助。 先感谢您。

根据我的说法,您首先应该首先了解以下几点:

  1. 您现在要包含托管在某个服务器上的远程文件,由于Titanium代码在编译时会转换为本机代码,因此您不能包含来自远程文件的Titanium API。
  2. 如果要包括远程文件,则只有看到的选项是将文件加载到Webview中

现在谈到您的问题,正如您所说的,您只想通过从远程文件中触发一些JS函数来仅从远程服务器中获取一些数据。 所以下面是我该怎么做:-

A /创建一个隐藏的WebView具有的WebView的事件监听在我的主窗口。 就像是 :

var webview = Titanium.UI.createWebView({url:'localHtmlFile.html'});

//event listener to handle the response from webview
Ti.App.addEventListener('fromWebView', function(e) 
{ 
    var testVariable = e.data; 
});

b /在localHtmlFile.html文件中:

<!DOCTYPE html>
<html>
<body>
     <script src="https://some-link/Data.js" type="text/javascript"></script>
     <script type="text/javascript">
     $(document).ready(function(){
          var testVariable = someMethod();
          //respond the fetch data to the main window via fireEvent
          Ti.App.fireEvent( 'fromWebView', { data : testVariable } );
     });
     </script>
</body>
</html>

PS:这只是一种逻辑,您必须根据需要编辑代码

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM