2015-11-24 70 views
0

我的WebView不能使存儲在包含腳本SRC(和CSS路徑)的assets文件夾中的HTML文件,像無法從資產JavaScript和CSS文件加載到HTML中的WebView

<script type="text/javascript" src="file:///android_asset/emergency.js"></script> 

它的顯示一個白色的屏幕。
任何想法如何解決這個問題?

我讀過其他答案,但似乎沒有一個適合我的情況。

這裏是MainActivity.java

我的代碼
WebView browser = (WebView) this.findViewById(R.id.webView); 
    String html = "file:///android_asset/file.html"; 

    browser.loadDataWithBaseURL("file:///android_asset/", html, "text/html", "utf-8", ""); 


    browser.getSettings().setJavaScriptEnabled(true); 
    browser.getSettings().setSupportZoom(false); 
    browser.getSettings().setBuiltInZoomControls(true); 
    browser.getSettings().setDisplayZoomControls(false); 

    try { 
      browser.loadUrl(html); 

     } catch (Exception e) { 
      e.printStackTrace(); 
     } 

回答

0

取而代之的是:

<script type="text/javascript" src="file:///android_asset/emergency.js"></script> 

簡單地做這樣的HTML文件中:

<link rel="stylesheet" type="text/css" href="styles.css" /> 
<script type="text/javascript" src="scripts.js"></script> 

因爲HTML文件對您的assets文件夾一無所知。
但它很容易找到在同一目錄中的文件。


跳過這一行:

browser.loadDataWithBaseURL("file:///android_asset/", html, "text/html", "utf-8", ""); 

,只是使用

browser.loadUrl("file:///android_asset/file.html"); 
+0

它說,大約file.html是 網:: ERR_FILE_NOT_FOUND –

+0

顯然,你需要使用相同的文件名作爲你的。我在** my **案件中工作,因爲我在資產文件夾中有這樣的文件,只要指出它們的html。以我的代碼作爲**通用**示例,但將其適用於**您的**特定情況。 –

+0

我也有資產文件夾中的所有文件。但它不起作用 –

相關問題