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

如何在Titanium appcelerator中远程包含javascript文件并使用该文件的功能?,javascript,scripting,appcelerator,Javascript,Scripting,Appcelerator,我需要在appcelerator项目中远程包含一个特定链接上可用的javascript文件,并使用该文件中声明的函数来处理一些数据 我希望在html中实现以下内容- <script src="https://some-link/Data.js" type="text/javascript"></script> <script type="text/javascript"> $(document).ready(function(){ var testVariab

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

我希望在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>

$(文档).ready(函数(){
var testVariable=someMethod(localdata);
});
//根据需要使用testVariable
//someMethod()在Remote available Data.js中声明


我是Appcelerator的新手,我不能真正理解我遇到的一些线程,因此非常感谢您提供的详细帮助。提前谢谢你。

我认为,你首先应该了解以下几点:

  • 您希望包含托管在某个服务器上的远程文件,现在由于Tianium代码在编译时转换为本机代码,因此无法包含来自远程文件的Tianium API
  • 如果您想包含一个远程文件,那么我看到的唯一选项就是将该文件加载到中
  • 现在来谈谈您的问题,正如您所说的,您希望通过从远程文件触发一些JS函数来仅从远程服务器获取一些数据。下面是我应该做的:-

    a/使用webview的EventListener在我的主窗口中创建一个隐藏窗口。比如:

    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>
    
    
    $(文档).ready(函数(){
    var testVariable=someMethod();
    //通过fireEvent将获取数据响应到主窗口
    firevent('fromWebView',{data:testVariable});
    });
    

    PS:这只是一个逻辑开始,您必须根据您的需求编辑代码

    谢谢Sumit为我指明了正确的方向。根据你的建议,它开始工作了。非常感谢。:-)钛在编译时转换为本机是不正确的。您可以使用eval函数执行任意代码。如果您能提供一些相同的示例,我将相应地测试和更新我的答案。