【问题标题】:webview cannot load index.htmlwebview 无法加载 index.html
【发布时间】:2016-06-22 21:20:51
【问题描述】:

大家好,我有一个问题,我将所有文件(如 html、css、js)放在 assets 文件夹中,但它没有在 webview 上显示。 检查图像。 Index.html file

这是资产文件夹 Assets

这是 MainActivity 中的代码

public class MainActivity extends AppCompatActivity {

    WebView webView;
    WebSettings webSettings;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        webView=(WebView)findViewById(R.id.webView);
        assert webView != null;
        webView.loadDataWithBaseURL("file:///assets/index.html","text/html","utf-8",null,null);

        webSettings = webView.getSettings();
        webSettings.setJavaScriptEnabled(true);

        ////////////////////////////////

    }
}

【问题讨论】:

    标签: javascript android html css webview


    【解决方案1】:

    在线搜索,您似乎需要在路径 url 中使用 android_asset 而不是 assets。此外,您的 index.html 似乎位于另一个名为主题的文件夹下,因此正确的 url 将是 "file:///android_asset/themes/index.html"。如果我只是看错了图片,那么正确的 url 是"file:///android_asset/index.html"。另外,请改用webView.loadUrl("file:///android_asset/index.html");,因为您没有正确使用其他方法。 Documentation

    【讨论】:

    • 在 assets 文件夹中没有两个子文件夹 10)images 2)theme
    • 抱歉我不清楚我编辑了我的答案@DanishButt
    • @DanishButt 你可以试试webView.loadUrl("file:///android_asset/index.html")。对于这种情况,您使用的方法可能不正确。
    • @DanishButt 你能接受我的回答,这样人们就可以看到这个问题得到了回答。
    【解决方案2】:

    loadDataWithBaseUrl() 有 5 个参数:baseUrldatamimeTypeencodinghistoryUrl。您的应用尝试使用mimeType == utf8 加载为数据“text/html”。所有参数都搞砸了。

    而且这种方法以另一种方式起作用。 WebView 不加载 baseUrl,WebView 从第二个参数 data 加载一些 html。

    【讨论】:

      猜你喜欢
      • 2016-08-08
      • 2018-02-03
      • 1970-01-01
      • 2023-02-05
      • 2018-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多