【问题标题】:How to show local html file into webview?如何将本地 html 文件显示到 webview 中?
【发布时间】:2016-02-03 12:15:01
【问题描述】:

我想在 webview 中显示我的本地 html 文件。我使用以下代码:

WebView wv;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    wv=new WebView(this);
    setContentView(wv);

    try {
        InputStream stream = this.getAssets().open("index.html");
        int sreamsize = stream.available();
        byte[] bufer = new byte[sreamsize];
        stream.read(bufer);
        stream.close();
        String html= new String(bufer);
        wv.loadData(html, "text/html", "UTF-8");

    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

现在我可以在没有 css 和 js 效果的情况下在 webview 中看到元素。如何解决?

【问题讨论】:

  • 尝试添加这个:WebSettings webSettings = wv.getSettings(); webSettings.setJavaScriptEnabled(true);
  • camelCaseCoder:没用

标签: javascript android html css webview


【解决方案1】:

试试这个:-

WebView wv;  
  wv = (WebView) findViewById(R.id.webView1);  
       WebSettings webViewSettings = wv.getSettings();
       webViewSettings.setJavaScriptEnabled(true);
       webViewSettings.setDomStorageEnabled(true);            
       wv.loadUrl("file:///android_asset/index.html");

【讨论】:

    【解决方案2】:

    试试这个:-

      WebView wv;  
      wv = (WebView) findViewById(R.id.webView1);  
      wv.loadUrl("file:///android_asset/index.html"); 
    

    【讨论】:

      【解决方案3】:

      尝试替换

      try {
          InputStream stream = this.getAssets().open("index.html");
          int sreamsize = stream.available();
          byte[] bufer = new byte[sreamsize];
          stream.read(bufer);
          stream.close();
          String html= new String(bufer);
          wv.loadData(html, "text/html", "UTF-8");
      
      } catch (IOException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
      }
      

      与

      wv.loadUrl("file:///android_asset/index.html");
      

      然后再试一次。

      更新

      对于JS get 完美运行 试试

      WebSettings webViewSettings = wv.getSettings();
      webViewSettings.setJavaScriptEnabled(true);
      webViewSettings.setDomStorageEnabled(true);
      

      作为@Sabari 的首选。

      【讨论】:

      • 我用例和css完全加载,但是js效果不起作用
      【解决方案4】:

      你试过只做wv.loadUrl("file:///android_asset/index.html");吗?

      【讨论】:

        猜你喜欢
        • 2020-10-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-06-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-08-25
        相关资源
        最近更新 更多