java - WebView 无法正确显示网站

标签 java android webview

我快要放弃了,因为我在这个问题上花了很多时间,我什至发现有人遇到完全相同的问题,运行几乎完全相同的代码,但没有答案。

我有一个不属于我的网页,但我将其页面源代码复制到 Assets 文件夹中的 HTML 文件中。

WebView 加载页面并显示当时显示的任何数据。问题#1:页面是动态的,每隔几秒就会发生变化。

问题#2:页面显示方式与下面的 2 个链接类似。图片缺失, 该页面看起来真的很准系统..我不知道为什么。

WebView not showing website correctly and 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. 您正在访问动态网站(定义:具有数据库访问权限、CMS 等的网站)
  2. 您在上传的网页上显示图片时是否遇到问题

当您在 Assets 文件夹中加载 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

尝试并确认...

关于java - WebView 无法正确显示网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21359630/

相关文章:

java - 处理 jdbc 连接时 try/catch 的最佳方法

android - 将 Android 源移动到区分大小写的图像中

android - 尝试使用 android.settings.USAGE_ACCESS_SETTINGS Intent 启动 Activity 时 Lollipop 中的 ActivityNotFoundException

java - 获得权限后如何立即调用函数?

java - 为什么不能取消引用 lambda 表达式?

java - Spring boot servlet 在 Tomcat 但不是 Jetty 中显示性能问题

java - android获取纵向和横向的可用高度和宽度

ios - 在 iOS 上以编程方式添加 UIBarButtonItem 操作

objective-c - Cocoa Webview - 伪装 webview 作为原生控件

javascript - Chrome 应用消息传递和 'loadstop' 与 .load() 计时