2016-06-14 146 views
0

我正在创建一个跨平台的应用程序与Apache科尔多瓦工具的Visual Studio(塔科)。应用程序将显示来自Web服务器的HTML页面,并且该页面使用本地存储在设备上的JavaScript。它在Windows Phone上运行良好。但在Android中我得到以下异常科尔多瓦与Android的Visual Studio

不允许加载本地资源:文件:///ANDROID_ASSET/www/scripts/common.js

是否有任何配置设置,使这项工作?

编辑: @Elvis夏,我试图从我的科尔多瓦应用程序服务器中检索以下HTML页面。在这个页面中,一些脚本标签的src指向设备上的本地JavaScript文件,使用FILE:/// ANDROID_ASSET/www/path。但它不适用于android。 对于Windows应用程序,我使用ms-appx-web://com.appname/www/ path引用本地javascript,并且在Windows上工作正常。

  <!DOCTYPE html> 
     <html> 
<head> 
    <title>Test Apps</title> 
    <meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; media-src *"> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 

     <link rel="stylesheet" href="scripts/jquery.mobile-1.4.5.min.css" /> 

     <script type="text/javascript" src="FILE:///ANDROID_ASSET/www/cordova.js"></script> 
     <script type="text/javascript" src="FILE:///ANDROID_ASSET/www/scripts/platformOverrides.js"></script> 
     <script type="text/javascript" src="FILE:///ANDROID_ASSET/www/scripts/common.js"></script> 

     <script type="text/javascript" src="scripts/jquery-2.2.4.js"></script> 
     <script src="scripts/jquery.mobile-1.4.5.min.js"></script> 
     <script type="text/javascript" src="scripts/index.js"></script> 
    </head> 
    <body> 

     <div data-role="page"> 

      <div data-role="header"> 
       <h1>Apps</h1> 
      </div> 
      <!-- /header --> 

      <div data-role="content"> 
       <p> 
        <div> 
         <button id="btnOpt1">Option 1</button> 
        </div> 
        <div> 
         <button id="btnOpt2">Option 2</button> 
        </div> 
        <div> 
         <button id="btnOpt3">Option 3</button> 
        </div> 
       </p> 
      </div> 
      <!-- /content --> 

      <div data-role="footer"> 
       <h4>Page Footer</h4> 
      </div> 
      <!-- /footer --> 
     </div> 
     <!-- /page --> 

    </body> 
</html> 

感谢

+0

请参考这[问题](http://stackoverflow.com/q/19997146/1825578),它似乎问题是相同的 –

+0

感谢Nitish ..但该解决方案不会为我工作,因为我正在编写科尔多瓦应用程序使用Visual Apache Cordova的Studio工具。另一种解决方案是使用WebView的普通Android应用程序。 – Rajan

+0

好吧,试着把这个放在你的config.xml中' –

回答

0

而不是在Android上使用file://协议,您应该能够引用您的脚本文件作为相对路径。如果您的HTML文件位于www文件夹,然后你可以使用以下引用您的common.js脚本:然后

<script src="scripts/common.js"></script> 

此相同的脚本标签会在您指定使用的科尔多瓦所有平台上工作。

+0

感谢您的回复......但是,当HTML文件来自Web服务器时,相对路径将指向服务器位置...而不是本地文件。例如,如果html文件来自http://webapp.somedomain.com/,则src路径“scripts/common.js将指向http://webapp.somedomain.com/scripts/common.js – Rajan

相关问题