WebView无法正确显示网站

时间:2014-01-26 04:18:22

标签: java android webview

我即将放弃,因为我在这个问题上花费了数小时和数小时,我甚至找到了具有完全相同问题的人,运行几乎完全相同的代码,并且没有答案。

我有一个我不拥有的网页,但我将它的页面源复制到我的资源文件夹中的HTML文件中。

webview加载页面以及当时显示的任何数据。问题#1:页面是动态的,每隔几秒就会改变一次。

问题#2:页面显示方式与下面的2个链接相同。图像丢失, 页面看起来很准确..我不知道为什么。

  

WebView not showing website correctly和   WebView not showing correctly

问题#3:一些页面加载,看起来很好,我可以访问他们的链接,但他们保持静态,页面非常动态(想想reddit)。

我的代码是

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

        //get reference to webview
        WebView webView = (WebView)findViewById(R.id.myWebview);

        //enable javascript on browser
        webView.getSettings().setJavaScriptEnabled(true);


        webView.setWebViewClient(new WebViewClient(){   
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url){
                view.loadUrl(url);
                return false;
            }
        });


        String myUrl = "file:///android_asset/newfile.html";
        webView.loadUrl(myUrl);



    }

当我尝试使用webView.loadDataWithBaseUrl();

webview仅显示一个白页,其中只包含我的html文件的路径

例如

文件:///android_asset/newfile.html

就是这样。

我没有想法,我希望有人可以提供帮助。

编辑:语法和语法。

1 个答案:

答案 0 :(得分:0)

首先,明确这一点:

  1. 您正在访问动态网站(定义:具有数据库访问权限的网站,CMS等)
  2. 您在上传的网页上显示图片时遇到问题
  3. 当您在资源文件夹中加载HTML文件时,您需要知道您还必须上传图像,CSS和所有相关内容。

    第二

    下面的代码我错了

            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url){
                view.loadUrl(url);
                return false;
            }
        });
    
    
        String myUrl = "file:///android_asset/newfile.html";
        webView.loadUrl(myUrl);
    

    它应该是:

            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url){
                webView.loadUrl(url); // --------> POINTED FAULT
                return false;
            }
        });
    
    
        String myUrl = "file:///android_asset/newfile.html";
        webView.loadUrl(myUrl);
    

    检查weView.loadUrl(...)中的大小写,是WebView还是webView

    尝试并确认......