2016-06-14 149 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

相關問題